/* ============================================================
   SRQ China 主题 class 命名规范（2026-09-11 定稿，命名整理轮落档）
   ------------------------------------------------------------
   1. 块/元素：srq-<block>-<element>，全小写连字符；一元素一名字，
      禁止新/旧双名并存（历史遗留双名正在分阶段收敛）。
   2. 变体：srq-block--variant（结构性差异）。
   3. 状态类 is-* 仅限运行时 JS/PHP 切换，语义约定：
        is-current = 持久选中（导航项 / 目录当前页）
        is-active  = 瞬态激活（轮播 / 展开态）
      静态结构差异用变体修饰类，不用 is-*。
   4. JS 行为钩子用 data-srq-* 属性（如 data-srq-news-target）。
   5. srq-editor-* 家族名字必须保留 "editor" 子串——
      srq-base.css 的 [class*='editor'] 排版块按子串匹配。
   6. WP 注入类（body_padding、wp-theme-srq、page-numbers 系等）
      保留 WP 原名，勿挪作主题组件类名。
   7. utility 旧类（f16/f20/f24、font-m、tit 等）已退役，
      样式并入组件类；新代码不得再使用。
   ============================================================ */
.srq-page {
  --srq-blue: #003366;
  --srq-blue-deep: #00264d;
  --srq-blue-bright: #0a4f8a;
  --srq-cyan: #1675ad;
  --srq-ink: #132238;
  --srq-muted: #47556b;
  --srq-text-body: #333333; /* detail-template body text (service/sol/news) — 2026-09-23 unification */
  --srq-line: #dce6f2;
  --srq-soft: #f3f8fc;
  --srq-white: #fff;
  --srq-content-width: 14.4rem;
  min-height: 100vh;
  color: var(--srq-ink);
  background: linear-gradient(180deg, #f8fbff 0, #fff 4.2rem);
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
}

/* Service reference corrections must remain last in the cascade. */
html body .srq-page {
  --srq-content-width: 14.4rem;
  --srq-service-aside-width: 3.2rem;
  --srq-service-gap: 0.6rem;
  background: #fff;
}

/* News listing page only: pure white reads too harsh on a dense archive list,
   so drop the page background to a soft neutral gray. The header keeps its own
   #fff, and other pages are unaffected — this selector only matches when the
   news-archive shell is present. */
html body .srq-page:has(.srq-editor-shell--news-archive) {
  background: #f5f5f5;
}

html body .srq-page .srq-header,
html body .srq-page .srq-header-main {
  height: 0.78rem;
  min-height: 0.78rem;
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
}

html body .srq-page .srq-header {
  position: relative;
  box-shadow: 0 1px 0 #dce5eb;
}


@media (max-width: 1024px) {

}



/* Final service-page geometry: match the approved 1440px reference layout. */
.srq-page {
  --srq-content-width: 12.2rem;
  --srq-service-aside-width: 3.2rem;
  --srq-service-gap: 0.6rem;
  min-height: 100vh;
  color: #16334e;
  background: #fff;
}

.srq-page .srq-inner {
  width: min(var(--srq-content-width), calc(100% - 40px));
}

.srq-page .srq-header {
  position: relative;
  height: 0.78rem;
  background: #fff;
  box-shadow: 0 1px 0 #dce5eb;
  backdrop-filter: none;
}

.srq-page .srq-header-main {
  height: 0.78rem;
  min-height: 0.78rem;
}

.srq-page .srq-logo img {
  display: block;
  width: 2.04rem;
  height: auto;
}

.srq-page .srq-header-tools {
  gap: 0.24rem;
}

.srq-page .srq-menu {
  gap: 0.26rem;
}

.srq-page .srq-menu .srq-menu-item {
  margin: 0;
}

.srq-page .srq-menu .srq-menu-link {
  padding: 0.05rem 0;
  color: #536579;
  font-size: 0.15rem;
  font-weight: 400;
  line-height: 1.45;
  white-space: nowrap;
}

.srq-page .srq-menu .srq-menu-link.is-current, .srq-page .srq-menu .srq-menu-link:hover {
  color: #003366;
}

.srq-page .srq-lang-switch {
  min-width: 0.3rem;
  padding: 0;
  border: 0;
  color: #426b89;
  font-size: 0.13rem;
  background: transparent;
}

.srq-page .srq-editor-page--service {
  padding: 0 0 0.84rem;
  background: #fff;
}

.srq-page .srq-editor-shell--service-root .srq-service-overview-group-head {
  padding: 0.22rem 0 0.1rem;
}

.srq-page .srq-editor-shell--service-root .srq-service-overview-group-head h2 {
  font-size: 0.18rem;
  line-height: 1.3 !important; /* [class*='editor'] * forces 36px !important */
}

/* svcdir8 (2026-09-20): NTEK boxed geometry (anguiceshi.html ProductListBox) localized —
   taller cards, two-line descriptions, slow tint hover (no solid fill).
   svcdir8b (2026-09-20): the ↗ item mark is retired per user call — cards are
   text-only; markup span removed in srq-layout.php, grid collapsed to one track.
   Legacy overview-card layers (:426 gen1 / :1399 hairline / :2101 html-body) are
   absorbed here and removed downstream; rollback: srq-overrides.css.bak-20260920-svcdir8
   ovcard2l (2026-10-08): summaries reserve two lines (min-height .42rem) and cards
   fill their grid li (height:100%) — uniform card heights on every row.
   Rollback: srq-overrides.css.bak-20261008-ovcard2l */
.srq-page .srq-editor-shell--service-root .srq-service-overview-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.12rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.srq-page .srq-editor-shell--service-root .srq-service-overview-list li {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
  border-top: 0;
}

.srq-page .srq-editor-shell--service-root .srq-service-overview-list a {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  height: 100%; /* ovcard2l 2026-10-08: fill the stretched grid li — row partners stay equal even if a title ever wraps */
  min-height: 1.1rem;
  padding: 0.26rem 0.3rem;
  border: 1px solid #d2dfe9;
  border-radius: 0.08rem;
  background: #fff;
  font-size: 0.18rem;
  line-height: 1.4 !important; /* srq-base.css [class*='editor'] * forces 36px !important — counter at equal weight. */
  color: #24425e;
  text-decoration: none;
  transition: border-color 0.35s ease-in-out, background-color 0.35s ease-in-out, color 0.35s ease-in-out;
}

/* Card text: label + two-line description (line-clamped); line-heights stay pinned against [class*='editor'] * 36px !important. */
.srq-page .srq-editor-shell--service-root .srq-service-overview-list a .srq-service-overview-item-text {
  display: block;
  min-width: 0;
  line-height: inherit !important;
}

.srq-page .srq-editor-shell--service-root .srq-service-overview-list a strong {
  display: block;
  color: #1b3c58;
  font-size: inherit;
  font-weight: 700;
  line-height: inherit !important;
  transition: color 0.35s ease-in-out;
}

.srq-page .srq-editor-shell--service-root .srq-service-overview-list a .srq-service-overview-item-text > span {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  min-height: 0.42rem; /* ovcard2l 2026-10-08: always reserve two summary lines (2 × 0.14 × 1.5) — single-line cards no longer sit shorter than two-line row partners */
  margin-top: 0.07rem;
  font-size: 0.14rem;
  font-weight: 400;
  color: #5b7186;
  line-height: 1.5 !important;
}

/* svcdir8 hover (plan B): slow tint deepen — no solid fill, no padding shift. */
.srq-page .srq-editor-shell--service-root .srq-service-overview-list a:hover,
.srq-page .srq-editor-shell--service-root .srq-service-overview-list a:focus-visible {
  padding: 0.26rem 0.3rem;
  border-color: #8db4e8;
  background: #dbe9f6;
}

.srq-page .srq-editor-shell--service-root .srq-service-overview-list a:hover strong,
.srq-page .srq-editor-shell--service-root .srq-service-overview-list a:focus-visible strong {
  color: var(--srq-blue);
}

@media (max-width: 768px) {
  .srq-page .srq-editor-shell--service-root .srq-service-overview-group-head {
    padding: 0.18rem 0 0.08rem;
  }

  .srq-page .srq-editor-shell--service-root .srq-service-overview-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.1rem;
  }

  .srq-page .srq-editor-shell--service-root .srq-service-overview-list a {
    min-height: 0.9rem;
    padding: 0.16rem 0.2rem;
    font-size: 0.17rem;
  }

  .srq-page .srq-editor-shell--service-root .srq-service-overview-list a .srq-service-overview-item-text > span {
    min-height: 0.39rem; /* ovcard2l: two reserved lines at the mobile 0.13rem scale (2 × 0.13 × 1.5) */
    font-size: 0.13rem;
  }
}

.srq-page .srq-editor-shell--service {
  display: grid;
  grid-template-areas: "aside article";
  grid-template-columns: var(--srq-service-aside-width) minmax(0, 1fr);
  gap: var(--srq-service-gap);
  align-items: start;
  width: 100%;
}

.srq-page .srq-service-page-opening, .srq-page .srq-sol-opening {
  width: calc(100% + var(--srq-service-aside-width) + var(--srq-service-gap));
  max-width: none;
  margin-left: calc(-1 * (var(--srq-service-aside-width) + var(--srq-service-gap)));
  padding: 0.39rem 0 0.35rem;
  border-bottom: 1px solid #dce5eb;
}

.srq-page .srq-service-page-breadcrumb {
  position: relative;
  z-index: 3;
  pointer-events: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.1rem;
  margin: 0 0 0.2rem;
  color: #718197;
  font-size: 0.17rem;
  font-weight: 400;
  line-height: 1.4;
}

.srq-page .srq-service-page-opening h1, .srq-page .srq-sol-opening h1 {
  margin: 0;
  color: #16334e;
  font-size: 0.42rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.22;
}

.srq-page .srq-page-aside--service {
  grid-area: aside;
  min-width: 0;
  padding-top: 2.41rem;
}

.srq-page .srq-service-directory {
  position: static;
  min-height: 5rem;
  padding: 0.3rem 0.22rem 0.34rem;
  background: #f2f6f8;
}

.srq-page .srq-service-directory h2 {
  margin: 0 0 0.2rem;
  color: #16334e;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.45;
}

.srq-page .srq-service-directory-root {
  margin: 0 0 0.06rem;
  padding: 0.11rem 0.12rem;
  border-left: 0.03rem solid transparent;
  color: #526b82;
  font-size: 0.15rem;
  font-weight: 700;
  line-height: 1.45;
}

.srq-page .srq-service-directory-root.is-current,
.srq-page .srq-service-directory-branch.is-active-branch .srq-service-directory-root {
  border-left-color: #003366;
  background: #e1eff7;
  color: #003366;
}

.srq-page .srq-service-directory-groups {
  margin: 0.1rem 0 0;
}

.srq-page .srq-service-directory-group-label {
  display: block;
  margin: 0.17rem 0 0.05rem 0.1rem;
  color: #607b93;
  font-size: 0.14rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.45;
}

.srq-page .srq-service-directory-children {
  margin: 0 0 0.07rem 0.1rem !important;
  padding: 0 0 0 0.08rem !important;
  border-left: 0;
}

.srq-page .srq-service-directory-children a {
  padding: 0.06rem 0.09rem;
  border-left: 0;
  color: #607b93;
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 1.45;
}

.srq-page .srq-service-directory-children a.is-current {
  border-left: 0.03rem solid #003366;
  background: #e1eff7;
  color: #003366;
  font-weight: 700;
}




.srq-page .srq-service-overview {
  margin: 0;
}

.srq-page .srq-service-overview-group {
  padding: 0;
  border: 0;
}

.srq-page .srq-service-overview-group-head {
  margin: 0;
  padding: 0.29rem 0 0.12rem;
}

.srq-page .srq-service-overview-group-head h2 {
  margin: 0;
  color: #003366;
  font-size: 0.22rem;
  font-weight: 700;
  line-height: 1.4;
}

.srq-page .srq-editor-content--service-global {
  background: transparent;
}

.srq-page .srq-editor-page--service:has(.srq-editor-content--service-global) {
  background: #fff;
}

@media (max-width: 1024px) {
  .srq-page .srq-header-tools {
    gap: 0.14rem;
  }

  .srq-page .srq-menu {
    gap: 0.16rem;
  }

  .srq-page .srq-service-page-opening, .srq-page .srq-sol-opening {
    width: 100%;
    margin-left: 0;
  }

  .srq-page .srq-service-directory {
    min-height: 0;
  }
}

/* dirkeep1 (2026-09-14): shell collapse is phones-only; 721-1024 keeps the
   desktop two-column shell (aside rail + sticky directory). */
@media (max-width: 720px) {
  .srq-page .srq-editor-shell--service {
    grid-template-areas: "aside" "article";
    grid-template-columns: minmax(0, 1fr);
    gap: 0.34rem;
  }

  .srq-page .srq-page-aside--service {
    padding-top: 0;
  }
}

@media (max-width: 720px) {
  .srq-page .srq-inner {
    width: min(100% - 0.3rem, 6.4rem);
  }

  .srq-page .srq-header-main {
    height: 0.66rem;
    min-height: 0.66rem;
  }

  .srq-page .srq-header {
    height: 0.66rem;
  }

  .srq-page .srq-logo img {
    width: 1.6rem;
  }

  .srq-page .srq-service-page-opening h1, .srq-page .srq-sol-opening h1 {
    font-size: 0.32rem;
  }
}

.srq-page a {
  color: inherit;
}

.srq-page .srq-inner {
  width: min(var(--srq-content-width), calc(100% - 48px));
  margin: 0 auto;
}

.srq-page .srq-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 0.08rem 0.2rem rgba(8, 29, 72, 0.05);
  backdrop-filter: blur(0.12rem);
}

.srq-page .srq-header.is-scroll-down {
  transform: none;
}

.srq-page .srq-header-body {
  background: transparent;
}

.srq-page .srq-header-main {
  min-height: 0.46rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

/* navlogo (2026-10-20): .srq-header-main is flex space-between and the nowrap
   menu links cannot shrink, so base img{max-width:100%} made the logo the only
   pressure valve — measured down to 0px at EN w=800. Lock the logo group so
   narrowing the viewport can never silently flatten the brand mark. */
.srq-page .srq-header-main-left {
  flex-shrink: 0;
}

.srq-page .srq-logo img {
  width: 2.04rem;
  height: auto;
  display: block;
}

.srq-page .srq-header-tools {
  display: flex;
  align-items: center;
  gap: 0.08rem;
  margin-left: auto;
}

.srq-page .srq-menu {
  display: flex;
  align-items: center;
  gap: 0.06rem;
}

.srq-page .srq-menu .srq-menu-item {
  position: relative;
}

.srq-page .srq-menu .srq-menu-item.srq-menu-wide {
  position: static;
}

.srq-page .srq-menu .srq-menu-item-head {
  position: relative;
}

.srq-page .srq-menu .srq-menu-link {
  display: inline-flex;
  align-items: center;
  min-height: auto;
  border: 0;
  padding: 0.05rem 0.12rem;
  background: transparent;
  color: var(--srq-ink);
  font: inherit;
  font-size: 0.18rem;
  font-weight: 500;
  line-height: inherit;
  position: relative;
  transition: color 0.2s ease;
}

.srq-page .srq-menu .srq-menu-link:focus-visible {
  outline: 2px solid var(--srq-blue);
  outline-offset: 0.03rem;
}

.srq-page .srq-menu .srq-menu-link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: calc(100% - 0.08rem);
  height: 2px;
  background: var(--srq-blue);
  border-radius: 1px;
  transform: translateX(-50%) scaleX(0);
  transition: transform 0.2s ease;
}

.srq-page .srq-menu .srq-menu-link:hover {
  color: var(--srq-blue);
}

.srq-page .srq-menu .srq-menu-link:hover::after {
  transform: translateX(-50%) scaleX(1);
}

/* Keep top-level item visually active while its dropdown is open */
.srq-page .srq-menu .srq-menu-item:hover .srq-menu-link {
  color: var(--srq-blue);
}

.srq-page .srq-menu .srq-menu-item:hover .srq-menu-link::after {
  transform: translateX(-50%) scaleX(1);
}

.srq-page .srq-menu .srq-menu-link.is-current {
  color: var(--srq-blue);
}

.srq-page .srq-menu .srq-menu-link.is-current::after {
  transform: translateX(-50%) scaleX(1);
}

.srq-page .srq-menu .srq-nav-panel {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 2.6rem;
  display: none;
  padding: 0;
  border-top: 0;
  background: transparent;
  box-shadow: none;
  z-index: 30;
}

.srq-page .srq-menu .srq-menu-wide .srq-nav-panel {
  left: 50%;
  right: auto;
  width: calc(100% - 0.04rem);
  max-width: min(var(--srq-content-width), calc(100vw - 24px));
  min-width: 0;
  transform: translateX(-50%);
}

.srq-page .srq-menu .srq-menu-item:hover .srq-nav-panel {
  display: block;
}

.srq-page .srq-menu .srq-menu-item.is-open .srq-nav-panel {
  display: block;
}

.srq-page .srq-menu .srq-nav-section {
  display: grid;
}

.srq-page .srq-menu .srq-nav-link {
  display: block;
  padding: 0.06rem 0.12rem;
  color: var(--srq-ink);
  font-size: 0.16rem;
  white-space: nowrap;
}

.srq-page .srq-menu .srq-menu-about .srq-nav-section, .srq-page .srq-menu .srq-menu-solutions .srq-nav-section {
  width: 100%;
  min-width: 0;
  padding: 0.04rem 0;
  background: #fff;
  border-top: 1px solid rgba(0, 51, 102, 0.16);
  box-shadow: 0 0.14rem 0.28rem rgba(8, 29, 72, 0.1);
}

/* Unified dropdown panel sizing (nav-dropdown-unify): panels size by content
   with a shared 200px floor, decoupled from the trigger label width; entries
   stay on one line in both languages. */
.srq-page .srq-menu .srq-menu-about .srq-nav-panel, .srq-page .srq-menu .srq-menu-solutions .srq-nav-panel {
  width: max-content;
  min-width: 1.4rem;
  max-width: calc(100vw - 24px);
}

.srq-page .srq-menu .srq-menu-about .srq-nav-link, .srq-page .srq-menu .srq-menu-solutions .srq-nav-link {
  padding: 0.1rem 0.16rem;
  color: var(--srq-ink);
  font-size: 0.15rem;
  line-height: 1.45;
  text-align: left;
  white-space: nowrap;
}

.srq-page .srq-menu .srq-menu-about .srq-nav-link:hover, .srq-page .srq-menu .srq-menu-about .srq-nav-link:focus-visible, .srq-page .srq-menu .srq-menu-solutions .srq-nav-link:hover, .srq-page .srq-menu .srq-menu-solutions .srq-nav-link:focus-visible {
  color: var(--srq-blue);
  background: rgba(0, 51, 102, 0.06);
}

.srq-page .srq-menu .srq-nav-link:hover {
  color: var(--srq-blue);
  background: rgba(11, 79, 159, 0.06);
}

/* Language switch: quiet text link in the header family — nav-idiom underline
   hover, symmetric codes (zh page EN / en page ZH), no chip. */
.srq-page .srq-lang-switch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0.3rem;
  min-height: 0.28rem;
  padding: 0 2px;
  color: var(--srq-ink);
  font-size: 0.13rem;
  font-weight: 600;
  border: 0;
  border-radius: 0;
  background: transparent;
  position: relative;
  transition: color 0.2s ease;
}

.srq-page .srq-lang-switch::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: calc(100% - 0.04rem);
  height: 2px;
  background: var(--srq-blue);
  border-radius: 1px;
  transform: translateX(-50%) scaleX(0);
  transition: transform 0.2s ease;
}

.srq-page .srq-lang-switch:hover,
.srq-page .srq-lang-switch:focus-visible {
  color: var(--srq-blue);
}

.srq-page .srq-lang-switch:hover::after,
.srq-page .srq-lang-switch:focus-visible::after {
  transform: translateX(-50%) scaleX(1);
}

.srq-page .srq-lang-switch:focus-visible {
  outline: 2px solid var(--srq-blue);
  outline-offset: 0.03rem;
}

.srq-page .srq-mobile-toggle {
  display: none;
  width: 0.44rem;
  height: 0.44rem;
  border: 0;
  border-radius: 0.12rem;
  background: var(--srq-blue);
  cursor: pointer;
}

.srq-page .srq-mobile-toggle i {
  display: block;
  width: 0.22rem;
  height: 2px;
  margin: 0.05rem auto;
  background: #fff;
}

.srq-page .srq-hero {
  min-height: 6.4rem;
  display: flex;
  align-items: center;
  color: #fff;
}

.srq-page .srq-hero-carousel .srq-hero-shell {
  position: relative;
  display: grid;
  gap: 0.24rem;
  padding: 0;
  border: 0;
}

.srq-page .srq-hero-track {
  position: relative;
  min-height: 6.2rem;
}

.srq-page .srq-hero-slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(3.6rem, 5.2rem);
  align-items: stretch;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.45s ease, visibility 0.45s ease;
}

.srq-page .srq-hero-slide.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.srq-page .srq-hero-slide-text {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.7rem 0.58rem 0.7rem 0.68rem;
  background:
    linear-gradient(135deg, rgba(8, 29, 72, 0.92), rgba(9, 53, 126, 0.78) 58%, rgba(10, 90, 155, 0.38) 100%),
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.16), transparent 36%);
  overflow: hidden;
}

.srq-page .srq-hero-slide-text::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 2.2rem;
  height: 1.8rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.16), transparent 58%),
    radial-gradient(circle at 22% 24%, rgba(255, 255, 255, 0.2) 0 2px, transparent 0.03rem);
  opacity: 0.55;
  pointer-events: none;
}

.srq-page .srq-hero-slide-media {
  position: relative;
  overflow: hidden;
  min-height: 6.2rem;
  background: #dce9f7;
}

.srq-page .srq-hero-slide-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, rgba(8, 29, 72, 0.14), rgba(8, 29, 72, 0.02) 36%, rgba(8, 29, 72, 0));
  pointer-events: none;
}

.srq-page .srq-hero-slide-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}



.srq-page .srq-hero-dots {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
}

.srq-page .srq-hero-dot {
  width: 0.68rem;
  height: 0.12rem;
  border: 0;
  background: rgba(8, 29, 72, 0.18);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.srq-page .srq-hero-dot.is-active {
  background: var(--srq-blue);
  transform: scaleX(1.08);
}

.srq-page .srq-hero h1 {
  margin: 0.18rem 0;
  color: #fff;
  font-size: 0.7488rem;
  line-height: 1.06;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.srq-page .srq-hero p {
  max-width: 6.6rem;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.18rem;
  line-height: 1.76;
}


.srq-page .srq-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 0.52rem;
  padding: 0 0.28rem;
  border-radius: 9.99rem;
  font-weight: 700;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.srq-page .srq-btn:hover {
  transform: translateY(-2px);
}

.srq-page .srq-btn-primary {
  color: #fff;
  background: linear-gradient(135deg, var(--srq-blue), var(--srq-cyan));
  box-shadow: 0 0.18rem 0.35rem rgba(26, 182, 207, 0.28);
}

.srq-page .srq-btn-ghost {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.48);
  background: rgba(255, 255, 255, 0.08);
}

.srq-page .srq-section {
  padding: 0.96rem 0;
}

.srq-page .srq-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.28rem;
  margin-bottom: 0.36rem;
}

.srq-page .srq-section-head h2 {
  margin: 0.12rem 0 0;
  color: var(--srq-ink);
  font-size: 0.48rem;
  line-height: 1.15;
  font-weight: 800;
}

.srq-page .srq-section-head p {
  max-width: 4.7rem;
  color: var(--srq-muted);
  line-height: 1.8;
}

.srq-page .srq-services {
  background: var(--srq-soft);
}

@media (max-width: 1024px) {

}

@media (max-width: 768px) {

}

.srq-page .srq-client-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.26rem 0.34rem;
  padding: 0.08rem 0 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

.srq-page .srq-client-card {
  min-height: 0.88rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.1rem 0.06rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: center;
  transition: none;
}

.srq-page .srq-client-card img {
  width: 100%;
  max-width: 1.9rem;
  max-height: 0.52rem;
  object-fit: contain;
  filter: none;
  transition: none;
}

@media (max-width: 1024px) {
  .srq-page .srq-client-grid {
    grid-template-columns: repeat(3, 1fr);
    padding: 0.04rem 0 0;
  }
}

@media (max-width: 768px) {
  .srq-page .srq-client-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.22rem 0.2rem;
    padding: 2px 0 0;
  }

  .srq-page .srq-client-card {
    min-height: 0.74rem;
    padding: 0.08rem 0.04rem;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .srq-page .srq-client-card img {
    max-width: 1.5rem;
    max-height: 0.42rem;
  }
}

@media (max-width: 520px) {
  .srq-page .srq-client-grid {
    grid-template-columns: 1fr;
  }
}

.srq-page .srq-footer {
  color: var(--srq-ink);
  background: transparent;
}

.srq-page .srq-footer .srq-footer-bottom {
  --srq-footer-qr-size: 1.48rem;
  --srq-footer-art-lift: 0.6048rem;
  position: relative;
  width: min(100%, 19.05rem);
  /* Extend the artwork upward without changing the visible footer content height. */
  margin: calc(-1 * var(--srq-footer-art-lift)) auto 0;
  min-height: 2.592rem;
  padding: var(--srq-footer-art-lift) 0 0;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 14%, rgba(237, 243, 248, 0.16) 42%, rgba(237, 243, 248, 0.56) 100%),
    linear-gradient(90deg, rgba(237, 243, 248, 0.04) 0%, rgba(237, 243, 248, 0.12) 36%, rgba(237, 243, 248, 0.26) 64%, rgba(237, 243, 248, 0.42) 100%),
    url("../srq-assets/footer-bj.jpg") center bottom / 100% 100% no-repeat;
}

.srq-page .srq-footer .srq-footer-bottom::after {
  content: none;
}

.srq-page .srq-footer-shell {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.14rem;
  width: 100%;
  /* 2026-09-14: follow the percentage canvas instead of the
     old fixed 1440px cap, so wide screens keep footer content flush */
  max-width: none;
  min-height: 0;
  padding: 0 0 0.12rem;
  box-sizing: border-box;
}

.srq-page .srq-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr) var(--srq-footer-qr-size);
  gap: 0.2592rem;
  align-items: start;
}

.srq-page .srq-footer-legal-band {
  margin-top: 0;
  padding-top: 0.08rem;
  /* 2026-09-09: hairline removed (user: it read as a short segment cutting
     across the skyline art above the copyright strip). Only this border went;
     the CTA band's own bottom border (the line where the white wrap meets the
     art container) is a different separator and stays. */
  border-top: 0;
}

.srq-page .srq-footer-legal-band .srq-footer-legal {
  min-height: 0.3rem;
  padding: 0 2px 0 1px;
  background: transparent;
}

.srq-page .srq-footer-links,
.srq-page .srq-footer-qr {
  min-width: 0;
}


.srq-page .srq-footer a:hover {
  color: var(--srq-blue);
}

.srq-page .srq-footer-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.18rem 0.7rem;
  align-content: start;
  justify-self: start;
  margin-left: -0.2rem;
  padding-top: 0.34rem;
  align-self: start;
}

.srq-page .srq-footer-links-group {
  display: grid;
  gap: 0.1rem;
  align-content: start;
}

.srq-page .srq-footer-links-group h3 {
  margin: 0;
  color: #17395d;
  font-size: 0.17rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.04em;
}

.srq-page .srq-footer-links-group ul {
  display: grid;
  gap: 0.08rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.srq-page .srq-footer-links-group li {
  margin: 0;
}

.srq-page .srq-footer-links-group a {
  display: block;
  margin: 0;
  color: #436684;
  font-size: 0.16rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.65;
}

.srq-page .srq-footer-qr {
  display: grid;
  grid-template-columns: minmax(0, var(--srq-footer-qr-size));
  align-content: start;
  align-self: start;
  justify-items: center;
  gap: 0.12rem;
  width: var(--srq-footer-qr-size);
  max-width: var(--srq-footer-qr-size);
  margin: 0;
  padding-top: 0.12rem;
  text-align: center;
}

.srq-page .srq-footer-qr-image {
  display: block;
  width: var(--srq-footer-qr-size);
  min-width: 0;
  max-width: var(--srq-footer-qr-size);
  height: var(--srq-footer-qr-size);
  padding: 0;
  object-fit: cover;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.srq-page .srq-footer-qr figcaption {
  width: 100%;
  min-width: 0;
  max-width: var(--srq-footer-qr-size);
  margin: 0;
  color: #5f7893;
  font-size: 0.12rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

@media (min-width: 769px) {
  .srq-page .srq-footer-qr {
    transform: translate(-0.08rem, 0.08rem);
  }
}

/* Service map and detail pages use a quiet directory layout instead of stacked cards. */

.srq-page .srq-editor-shell--service {
  grid-template-areas: "aside article";
  grid-template-columns: minmax(2.1rem, 2.32rem) minmax(0, 1fr);
  gap: 0.72rem;
  align-items: start;
}

.srq-page .srq-editor-shell--service .srq-editor-content {
  max-width: none;
}

/* The opening spans the sidebar column; keep its parent links above that column. */
html body .srq-page .srq-service-page-opening, html body .srq-page .srq-sol-opening {
  position: relative;
  z-index: 2;
}

.srq-page .srq-service-page-opening h1, .srq-page .srq-sol-opening h1 {
  max-width: none;
  margin: 0;
  color: var(--srq-ink);
  font-size: 0.54rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.18;
}

.srq-page .srq-service-overview {
  margin: 0.3rem 0 0.46rem;
}

.srq-page .srq-service-overview-group {
  padding: 0.25rem 0 0.29rem;
  border-bottom: 1px solid rgba(19, 34, 56, 0.13);
}

.srq-page .srq-service-overview-group-head {
  display: flex;
  align-items: baseline;
  gap: 0.14rem;
  margin-bottom: 0.15rem;
}

.srq-page .srq-service-overview-group-head h2 {
  margin: 0;
  color: var(--srq-ink);
  font-size: 0.21rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.45;
}

.srq-page .srq-service-page-body > ul li, .srq-page .srq-sol-body > ul li, .srq-page .srq-service-page-body > ol li, .srq-page .srq-sol-body > ol li {
  padding-left: 0.05rem;
}

.srq-page .srq-service-directory h2 {
  margin-bottom: 0.16rem;
  color: var(--srq-ink);
  font-size: 0.17rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.srq-page .srq-service-directory-root {
  margin: 0 0 2px;
  padding: 0.1rem 0.12rem;
  border-left-width: 2px;
  color: #52667d;
  font-size: 0.15rem;
  font-weight: 700;
}

.srq-page .srq-service-directory-root.is-current {
  background: transparent;
  color: var(--srq-blue);
}

.srq-page .srq-service-directory-children a {
  padding: 0.07rem 0.09rem;
  border-left: 0;
  color: #718095;
  font-size: 0.13rem;
  font-weight: 500;
  line-height: 1.5;
}

/* dirkeep1 (2026-09-14): collapsed-strip styling is phones-only now. */
@media (max-width: 720px) {

  .srq-page .srq-service-directory-mobile {
    display: block;
    border-top: 1px solid rgba(19, 34, 56, 0.13);
    border-bottom: 1px solid rgba(19, 34, 56, 0.13);
  }

  .srq-page .srq-service-directory-mobile summary {
    min-height: 0.54rem;
    color: var(--srq-ink);
    font-size: 0.16rem;
    font-weight: 700;
  }

  .srq-page .srq-service-directory-mobile nav {
    padding-bottom: 0.15rem;
  }
}

@media (max-width: 720px) {

  .srq-page .srq-service-overview {
    margin: 0.25rem 0 0.38rem;
  }

  .srq-page .srq-service-overview-group {
    padding: 0.21rem 0 0.23rem;
  }
}

/* ============================================================
   Homepage — 服务区编号能力卡 + 行业区摄影图卡网格
   对标 Intertek：服务=编号文字卡(抽象/能力) / 行业=摄影图卡(具象/场景)，
   两区底色、卡片语言、形状、高度四轴同时反差，消除相邻视觉疲劳。
   替换旧的 srq-service-showcase 点击手风琴与 srq-accordion hover 手风琴。
   ============================================================ */

/* 服务区：浅蓝色带，shell 透明露出色带（覆盖 .srq-page 默认 transparent / shell #fff） */
body.home .srq-page .srq-services {
  background: var(--srq-soft);
}

body.home .srq-page .srq-services .srq-section-shell {
  background: transparent;
}

/* 资讯区：同样浅蓝色带，与行业区(白)形成 浅蓝/白/浅蓝 交替，相邻两区永不撞色，消除视觉疲劳 */
body.home .srq-page .srq-news {
  background: var(--srq-soft);
}

body.home .srq-page .srq-news .srq-section-shell {
  background: transparent;
}

/* —— 服务编号卡 —— */
body.home .srq-page .srq-services .srq-service-cards-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.22rem;
  margin-top: 0.36rem;
}

body.home .srq-page .srq-services .srq-service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 3.2rem;
  padding: 0.36rem 0.24rem 0;
  background: transparent;
  color: #0b2a4a;
  text-align: center;
  text-decoration: none;
  overflow: visible;
  transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1), background-color 300ms ease, box-shadow 300ms ease;
}

body.home .srq-page .srq-services .srq-service-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0.03rem;
  background: #003366;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 300ms ease;
}

body.home .srq-page .srq-services .srq-service-card:hover,
body.home .srq-page .srq-services .srq-service-card:focus-visible {
  transform: translateY(-0.04rem);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 0.14rem 0.34rem rgba(19, 34, 56, 0.08);
  outline: none;
}

body.home .srq-page .srq-services .srq-service-card:hover::before,
body.home .srq-page .srq-services .srq-service-card:focus-visible::before {
  transform: scaleX(1);
}

body.home .srq-page .srq-services .srq-service-card:nth-child(n+2)::after {
  content: "";
  position: absolute;
  left: -0.11rem;
  top: 0.72rem; /* flush with the title's top edge: card padding 0.36 + title margin 0.36 (rule retired 2026-10-15) */
  bottom: 0; /* runs through the entry band down to the card's bottom edge */
  width: 1px;
  background: rgba(0, 51, 102, 0.1);
}

body.home .srq-page .srq-services .srq-service-card-num {
  position: absolute;
  top: 0.14rem;
  right: 0.12rem; /* 2026-10-15 user nudge: was 0.18rem */
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  color: rgba(0, 51, 102, 0.07);
}

body.home .srq-page .srq-services .srq-service-card-rule {
  display: none; /* 2026-10-15: rule retired — title moves under the numeral, right-aligned */
}

body.home .srq-page .srq-services .srq-service-card-title {
  margin-top: 0.36rem; /* keeps the pre-rule rhythm (title top 0.72rem) with the rule retired */
  /* 2026-11-02 type bump (user): 18/1.4vw/21 → 20/1.6vw/24. Ceiling +3px so
     the 1440–1500 fold gains as much as the 1920 one. */
  font-size: clamp(20px, 1.6vw, 24px);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
  color: #0b2a4a;
}

body.home .srq-page .srq-services .srq-service-card-desc {
  margin-top: 0.12rem;
  /* 2026-11-02 type bump (user): 0.14rem → 0.16rem (14 → 16px). */
  font-size: 0.16rem;
  line-height: 1.8;
  color: rgba(11, 42, 74, 0.72);
}

body.home .srq-page .srq-services .srq-service-card-entry {
  box-sizing: border-box;
  margin-top: auto;
  width: calc(100% + 0.48rem);
  margin-left: -0.24rem;
  margin-right: -0.24rem;
  padding: 0.14rem 0 0.15rem;
  /* 2026-11-02 typebump-r2: card CTA at the 14px meta floor (reference link
     tier is body-adjacent, never below meta). */
  font-size: 0.14rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #003366;
  background: rgba(0, 51, 102, 0.045);
  transition: background-color 300ms ease, color 300ms ease;
}

body.home .srq-page .srq-services .srq-service-card:hover .srq-service-card-entry,
body.home .srq-page .srq-services .srq-service-card:focus-visible .srq-service-card-entry {
  background: #003366;
  color: #fff;
}

body.home .srq-page .srq-services .srq-service-card-arrow {
  display: none;
}

/* —— 行业摄影图卡网格（替换 hover 手风琴）—— */
body.home .srq-page .srq-solutions .srq-solutions-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.18rem;
  margin-top: 0.36rem;
}

body.home .srq-page .srq-solutions .srq-solutions-grid .srq-solutions-card {
  position: relative;
  display: block;
  flex: none;
  height: 3rem;
  margin-left: 0;
  border-radius: 0.16rem;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 0.1rem 0.3rem rgba(19, 34, 56, 0.1);
  transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 300ms ease;
}

body.home .srq-page .srq-solutions .srq-solutions-grid .srq-solutions-card-figure {
  position: absolute;
  inset: 0;
  z-index: 1;
  padding-bottom: 0;
  opacity: 1;
}

body.home .srq-page .srq-solutions .srq-solutions-grid .srq-solutions-card-figure img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
  transition: transform 460ms ease;
}

body.home .srq-page .srq-solutions .srq-solutions-grid .srq-solutions-card-figure::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  height: 100%;
  background: linear-gradient(180deg, rgba(6, 18, 42, 0.1) 0%, rgba(6, 18, 42, 0.28) 55%, rgba(6, 18, 42, 0.82) 100%);
  opacity: 1;
}

body.home .srq-page .srq-solutions .srq-solutions-grid .srq-solutions-card-body {
  position: absolute;
  inset: auto 0 0 0;
  top: auto;
  left: 0;
  z-index: 3;
  transform: none;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  width: 100%;
  height: auto;
  padding: 0.22rem 0.2rem;
  color: #fff;
}

body.home .srq-page .srq-solutions .srq-solutions-grid .srq-solutions-card-title {
  color: #fff;
  width: auto;
  writing-mode: horizontal-tb;
  /* 2026-11-02 typebump-r2 (cqc reference): tile captions were the only card
     title sitting below body size (17px vs 16px body, where the reference
     runs its region tiles at 20px over 16px body). Desktop now sits on the
     news-headline tier. The floor is 18px, not a flat 0.2rem: in the 2-up
     phone band the tile copy box is 118px wide and the EN word
     "Communication" measures ~131px at 18px — at 20px it would break out of
     the card's 20px side padding (measured 368 vs card right 360 @390). */
  font-size: clamp(18px, calc(15.5px + 0.5vw), 20px);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-shadow: 0 2px 0.1rem rgba(0, 0, 0, 0.5);
}

body.home .srq-page .srq-solutions .srq-solutions-grid .srq-solutions-card-more {
  display: none;
}

body.home .srq-page .srq-solutions .srq-solutions-grid .srq-solutions-card:hover, body.home .srq-page .srq-solutions .srq-solutions-grid .srq-solutions-card:focus-visible {
  transform: translateY(-0.06rem);
  box-shadow: 0 0.2rem 0.44rem rgba(19, 34, 56, 0.16);
  outline: none;
}

body.home .srq-page .srq-solutions .srq-solutions-grid .srq-solutions-card:hover .srq-solutions-card-figure img, body.home .srq-page .srq-solutions .srq-solutions-grid .srq-solutions-card:focus-visible .srq-solutions-card-figure img {
  transform: scale(1.08);
}



/* 2026-10-10 home-cards-narrow: progressive degradation like intertek
   card-cols-auto (services 4→2→1, solutions 5→3→2), no cliffs. This band
   MUST stay before the <=640 block: same specificity, later source wins. */
@media (max-width: 1024px) {
  body.home .srq-page .srq-services .srq-service-cards-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.home .srq-page .srq-services .srq-service-card:nth-child(odd)::after {
    content: none;
  }

  body.home .srq-page .srq-solutions .srq-solutions-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.home .srq-page .srq-services .srq-service-cards-list {
    grid-template-columns: 1fr;
  }

  body.home .srq-page .srq-services .srq-service-card {
    min-height: 0;
    padding: 0.32rem 0.24rem 0; /* sides 0.24 keep the band-bleed identity 2x0.24=0.48; bottom 0 docks the band */
  }

  body.home .srq-page .srq-services .srq-service-card:nth-child(n+2)::after {
    content: none; /* must match the desktop divider's specificity to win the tie here */
  }

  body.home .srq-page .srq-services .srq-service-card-num {
    font-size: 0.6rem;
  }

  body.home .srq-page .srq-solutions .srq-solutions-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.14rem;
  }

  body.home .srq-page .srq-solutions .srq-solutions-grid .srq-solutions-card {
    height: 2.2rem;
    width: auto;
    margin-bottom: 0; /* kill legacy flex-era fallback width:49%/margin-bottom:2% (srq-base.css old accordion) */
  }
}

/* Homepage services use one uninterrupted horizontal focus group. */









@media (max-width: 560px) {
  
}

@media (prefers-reduced-motion: reduce) {
  }

/* Last cascade pass for the service reference screens. */
html body .srq-page {
  --srq-content-width: 14.4rem;
  background: #fff;
}

/* canvas 2026-09-14: percentage bands
   (75.6% >1800, 85% <=1800, 90% <=1680, full width minus gutters <=1024).
   2026-10-10 intertek-style desktop cap: each band is min(<pct>, 13.2rem),
   so once the percentage would exceed 1320px the canvas pins there (container
   model). Kills the 1681/1801 band cliffs and unbounded wide-screen growth;
   viewports <=1466 (1320/0.9) are untouched. html font-size is fixed 100px,
   so rem values render as authored px. */
html body .srq-page .srq-inner {
  width: min(75.6%, 13.2rem);
}

@media (max-width:1800px) {
  html body .srq-page .srq-inner { width: min(85%, 13.2rem); }
}

@media (max-width:1680px) {
  html body .srq-page .srq-inner { width: min(90%, 13.2rem); }
}

@media (max-width:1024px) {
  html body .srq-page .srq-inner { width: calc(100% - 0.4rem); }
}

html body .srq-page .srq-header,
html body .srq-page .srq-header-main {
  height: 0.78rem;
  min-height: 0.78rem;
  background: #fff;
}

html body .srq-page .srq-header {
  position: relative;
  box-shadow: 0 1px 0 #dce5eb;
  backdrop-filter: none;
}

html body .srq-page .srq-logo img {
  width: 2.04rem;
}

html body .srq-page .srq-header-tools {
  gap: 0.24rem;
}

html body .srq-page .srq-menu {
  gap: 0.26rem;
}

html body .srq-page .srq-menu .srq-menu-item {
  margin: 0;
}

html body .srq-page .srq-menu .srq-menu-link {
  padding: 0.05rem 0;
  color: #536579;
  font-size: 0.15rem;
  font-weight: 400;
  line-height: 1.45;
}

html body .srq-page .srq-menu .srq-menu-link.is-current, html body .srq-page .srq-menu .srq-menu-link:hover {
  color: #003366;
}

html body .srq-page .srq-editor-page--service {
  padding: 0 0 0.84rem;
  background: #fff;
}

html body .srq-page .srq-editor-page--service .srq-section-shell {
  padding-top: 0;
}

html body .srq-page .srq-editor-shell--service {
  display: grid;
  grid-template-areas: "aside article";
  grid-template-columns: var(--srq-service-aside-width) minmax(0, 1fr);
  gap: 0.6rem;
  align-items: start;
}

html body .srq-page .srq-editor-shell--service .srq-editor-content {
  grid-area: article;
  width: 100%;
  max-width: none;
}

html body .srq-page .srq-service-page-opening, html body .srq-page .srq-sol-opening {
  width: calc(100% + 2.8rem);
  max-width: none;
  margin-left: -2.8rem;
  padding: 0.39rem 0 0.35rem;
  border-bottom: 1px solid #dce5eb;
}

html body .srq-page .srq-service-page-opening h1, html body .srq-page .srq-sol-opening h1 {
  margin: 0;
  color: #16334e;
  font-size: 0.42rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.22;
}

html body .srq-page .srq-page-aside--service {
  grid-area: aside;
  min-width: 0;
  padding-top: 2.41rem;
}

html body .srq-page .srq-service-directory {
  position: static;
  min-height: 5rem;
  padding: 0.3rem 0.22rem 0.34rem;
  background: #f2f6f8;
}

html body .srq-page .srq-service-directory h2 {
  margin: 0 0 0.2rem;
  color: #16334e;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0;
}

html body .srq-page .srq-service-directory-root {
  margin: 0 0 0.06rem;
  padding: 0.11rem 0.12rem;
  border-left: 0.03rem solid transparent;
  color: #526b82;
  font-size: 0.15rem;
  font-weight: 700;
}

html body .srq-page .srq-service-directory-root.is-current,
html body .srq-page .srq-service-directory-branch.is-active-branch .srq-service-directory-root {
  border-left-color: #003366;
  background: #e1eff7;
  color: #003366;
}

html body .srq-page .srq-service-directory-groups {
  margin: 0.1rem 0 0;
}

html body .srq-page .srq-service-directory-group-label {
  margin: 0.17rem 0 0.05rem 0.1rem;
  color: #607b93;
  font-size: 0.14rem;
  font-weight: 400;
  letter-spacing: 0;
}

html body .srq-page .srq-service-directory-children {
  margin: 0 0 0.07rem 0.1rem !important;
  padding: 0 0 0 0.08rem !important;
  border-left: 0;
}

html body .srq-page .srq-service-directory-children a {
  padding: 0.06rem 0.09rem;
  border-left: 0;
  color: #607b93;
  font-size: 0.14rem;
  font-weight: 400;
}

html body .srq-page .srq-service-directory-children a.is-current {
  border-left: 0.03rem solid #003366;
  background: #e1eff7;
  color: #003366;
  font-weight: 700;
}





html body .srq-page .srq-service-overview {
  margin: 0;
}

html body .srq-page .srq-service-overview-group {
  padding: 0;
  border: 0;
}

html body .srq-page .srq-service-overview-group-head {
  margin: 0;
  padding: 0.29rem 0 0.12rem;
}

html body .srq-page .srq-service-overview-group-head h2 {
  margin: 0;
  color: #003366;
  font-size: 0.22rem;
  font-weight: 700;
}

html body .srq-page .srq-service-page-body, html body .srq-page .srq-sol-body {
  max-width: none;
  padding-top: 0.28rem;
}

html body .srq-page .srq-service-page-body > h2, html body .srq-page .srq-sol-body > h2 {
  margin: 0 0 0.15rem;
  color: #003366;
  font-size: 0.26rem;
  font-weight: 700;
}

html body .srq-page .srq-service-page-body > h2:not(:first-child), html body .srq-page .srq-sol-body > h2:not(:first-child) {
  margin-top: 0.35rem;
}

html body .srq-page .srq-service-page-body > h3, html body .srq-page .srq-sol-body > h3 {
  margin: 0.32rem 0 0.1rem;
  color: #003366;
  font-size: 0.22rem;
  font-weight: 700;
}

/* svcbody1 (2026-09-28): first-element contract — whatever tag opens the
   body, the frame padding alone sets the rhythm (same guarantee the news
   body already has). Replaces the per-tag patching that left h3-first
   pages with a 70px gap. */
html body .srq-page .srq-service-page-body > :first-child, html body .srq-page .srq-sol-body > :first-child {
  margin-top: 0;
}

/* svcbody1 (2026-09-28): heading scale gap — h4/h5/h6 previously fell
   through to browser defaults inside the service/sol body. */
html body .srq-page .srq-service-page-body > h4, html body .srq-page .srq-sol-body > h4 {
  margin: 0.28rem 0 0.1rem;
  color: #003366;
  font-size: 0.19rem;
  font-weight: 700;
}

html body .srq-page .srq-service-page-body > h5, html body .srq-page .srq-sol-body > h5, html body .srq-page .srq-service-page-body > h6, html body .srq-page .srq-sol-body > h6 {
  margin: 0.24rem 0 0.1rem;
  color: #003366;
  font-size: 0.17rem;
  font-weight: 700;
}

html body .srq-page .srq-service-page-body > p, html body .srq-page .srq-sol-body > p, html body .srq-page .srq-service-page-body > ul li, html body .srq-page .srq-sol-body > ul li, html body .srq-page .srq-service-page-body > ol li, html body .srq-page .srq-sol-body > ol li {
  color: var(--srq-text-body);
  font-size: 0.16rem;
  line-height: 1.85;
}

html body .srq-page .srq-editor-page--service:has(.srq-editor-content--service-global) {
  background: #fff;
}

@media (max-width: 1024px) {
  html body .srq-page .srq-service-page-opening, html body .srq-page .srq-sol-opening {
    width: 100%;
    margin-left: 0;
  }
}

/* dirkeep1 (2026-09-14): shell collapse is phones-only; 721-1024 keeps the
   desktop two-column shell. */
@media (max-width: 720px) {
  html body .srq-page .srq-editor-shell--service {
    grid-template-areas: "aside" "article";
    grid-template-columns: minmax(0, 1fr);
    gap: 0.34rem;
  }

  html body .srq-page .srq-page-aside--service {
    padding-top: 0;
  }
}

@media (max-width: 720px) {
  html body .srq-page .srq-inner {
    width: min(100% - 0.3rem, 6.4rem);
  }

  html body .srq-page .srq-header,
  html body .srq-page .srq-header-main {
    height: 0.66rem;
    min-height: 0.66rem;
  }

  html body .srq-page .srq-logo img {
    width: 1.6rem;
  }

  html body .srq-page .srq-service-page-opening h1, html body .srq-page .srq-sol-opening h1 {
    font-size: 0.32rem;
  }
}

.srq-page .srq-footer .srq-footer-legal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.08rem;
  min-height: 0;
  text-align: center;
}

.srq-page .srq-footer .srq-footer-legal-inner, .srq-page .srq-footer .srq-footer-legal-body, .srq-page .srq-footer .srq-footer-legal-text {
  min-width: 0;
}

.srq-page .srq-footer .srq-footer-legal-inner {
  width: 100%;
}

.srq-page .srq-footer .srq-footer-legal-text, .srq-page .srq-footer .srq-footer-legal-text p {
  margin: 0;
  font-size: 0.14rem;
  line-height: 1.45;
  letter-spacing: 0;
  white-space: normal;
}

.srq-page .srq-footer .srq-footer-record {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.14rem;
  width: 100%;
  flex-wrap: wrap;
}

.srq-page .srq-footer .srq-footer-record-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.06rem;
  white-space: nowrap;
}

.srq-page .srq-footer .srq-footer-record-icon {
  display: block;
  width: 0.16rem;
  height: 0.16rem;
  flex: 0 0 0.16rem;
  object-fit: contain;
}

.srq-page .srq-footer .srq-footer-legal-text, .srq-page .srq-footer .srq-footer-legal-text p {
  color: #5f7893;
}

.srq-page .srq-footer .srq-footer-legal-text a:hover {
  color: #153456;
}

.srq-page #gotop {
  position: fixed;
  right: 0;
  bottom: 0.44rem;
  top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.48rem;
  min-width: 0.48rem;
  height: 0.48rem;
  padding: 0;
  border: 1px solid rgba(11, 79, 159, 0.32);
  border-right: 0;
  border-radius: 0.08rem 0 0 0.08rem;
  background: rgba(255, 255, 255, 0.98);
  background-image: none;
  box-shadow: 0 0.08rem 0.2rem rgba(8, 29, 72, 0.12);
  color: var(--srq-blue);
  cursor: pointer;
  z-index: 60;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(0.12rem);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.srq-page #gotop.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.srq-page .srq-gotop-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 0.2rem;
  height: 0.2rem;
  color: inherit;
}

.srq-page .srq-gotop-icon svg {
  display: block;
  width: 0.2rem;
  height: 0.2rem;
  fill: currentColor;
  transition: transform 0.2s ease;
}

.srq-page .srq-gotop-text {
  display: none;
  color: inherit;
  font-size: 0.13rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
}

.srq-page #gotop.is-visible:hover,
.srq-page #gotop.is-visible:focus-visible {
  border-color: var(--srq-blue);
  background-color: var(--srq-blue);
  box-shadow: 0 0.14rem 0.28rem rgba(8, 29, 72, 0.22);
  color: #fff;
  transform: translateY(-0.03rem);
}

.srq-page #gotop.is-visible:hover .srq-gotop-icon svg,
.srq-page #gotop.is-visible:focus-visible .srq-gotop-icon svg {
  transform: translateY(-2px);
}

.srq-page #gotop.is-visible:focus-visible {
  outline: 0.03rem solid rgba(26, 182, 207, 0.52);
  outline-offset: 0.03rem;
}

.srq-page #gotop.is-visible:active {
  box-shadow: 0 0.05rem 0.12rem rgba(8, 29, 72, 0.18);
  transform: translateY(0);
}

@media (max-width: 768px) {
  .srq-page #gotop {
    right: 0.16rem;
    bottom: 0.16rem;
    width: 0.46rem;
    min-width: 0.46rem;
    height: 0.46rem;
    padding: 0;
    border-color: var(--srq-blue);
    border-right-width: 1px;
    border-radius: 0.08rem;
    background-color: var(--srq-blue);
    box-shadow: 0 0.08rem 0.18rem rgba(8, 29, 72, 0.18);
    color: #fff;
    gap: 0;
  }

  .srq-page #gotop.is-visible:hover,
  .srq-page #gotop.is-visible:focus-visible {
    box-shadow: 0 0.1rem 0.22rem rgba(8, 29, 72, 0.22);
    transform: translateY(0);
  }

  .srq-page #gotop.is-visible:hover .srq-gotop-icon svg,
  .srq-page #gotop.is-visible:focus-visible .srq-gotop-icon svg {
    transform: none;
  }

  .srq-page .srq-gotop-text {
    display: none;
  }
}

@media (min-width: 1820px) {
  .srq-page #gotop {
    right: 0.28rem;
    width: auto;
    min-width: 1.32rem;
    padding: 0 0.17rem;
    border-right-width: 1px;
    border-radius: 0.08rem;
    gap: 0.1rem;
  }

  .srq-page .srq-gotop-text {
    display: inline-block;
  }
}

@media (prefers-reduced-motion: reduce) {
  .srq-page #gotop,
  .srq-page .srq-gotop-icon svg {
    transition: none;
  }

  .srq-page #gotop,
  .srq-page #gotop.is-visible,
  .srq-page #gotop.is-visible:hover,
  .srq-page #gotop.is-visible:focus-visible,
  .srq-page #gotop.is-visible:active,
  .srq-page #gotop.is-visible:hover .srq-gotop-icon svg,
  .srq-page #gotop.is-visible:focus-visible .srq-gotop-icon svg {
    transform: none;
  }
}

@media (max-width: 1024px) {
  .srq-page .srq-menu {
    gap: 0;
  }

  .srq-page .srq-hero .srq-inner {
    grid-template-columns: 1fr;
  }

  .srq-page .srq-client-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}

/* navlogo (2026-10-20): the drawer band moves 768 -> 1024. The 769-1024
   middle band had been the last horizontal-menu holdout; with the EN menu
   floor measured at 659.2px it squeezed the logo (see .srq-header-main-left).
   These header rules are the old @768 drawer set, now owning <=1024. The
   canvas inner and logo-width desktop downshifts later in the file
   (@1366x769) intentionally still win here by source order, keeping
   769-1024 geometry continuous. */
@media (max-width: 1024px) {
  .srq-page .srq-inner {
    width: min(100% - 0.28rem, 6.4rem);
  }

  .srq-page .srq-header-main {
    min-height: 0.56rem;
  }

  .srq-page .srq-logo img {
    width: 1.6rem;
  }

  .srq-page .srq-mobile-toggle {
    display: block;
  }

  .srq-page .srq-header-tools {
    margin-left: 0;
    gap: 0.08rem;
  }

  .srq-page .srq-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    display: none;
    padding: 0.14rem;
    background: #fff;
    box-shadow: 0 0.2rem 0.38rem rgba(8, 29, 72, 0.12);
  }

  .srq-page .srq-header.is-nav-open .srq-nav {
    display: block;
  }

  .srq-page .srq-menu {
    display: grid;
    gap: 0.06rem;
  }

  .srq-page .srq-menu .srq-menu-link {
    width: 100%;
    justify-content: center;
    font-size: 0.18rem;
  }

  .srq-page .srq-lang-switch {
    padding: 0 0.06rem;
    font-size: 0.12rem;
  }
}

@media (max-width: 768px) {
  .srq-page .srq-hero {
    min-height: 5.6rem;
    padding: 0.7rem 0 0.96rem;
  }

  .srq-page .srq-hero p {
    font-size: 0.17rem;
  }

  .srq-page .srq-client-grid,
  .srq-page .srq-footer-grid {
    grid-template-columns: 1fr;
  }

  .srq-page .srq-section {
    padding: 0.64rem 0;
  }

  .srq-page .srq-section-head {
    display: block;
  }

  .srq-page .srq-section-head p {
    margin-top: 0.16rem;
  }

  .srq-page .srq-footer .srq-footer-legal {
    display: block;
  }
}

/* SRQ UI hardening: remove legacy layout bleed and reduce card-like styling. */
body.body_padding {
  padding-top: 0 !important;
}

.srq-page .srq-header {
  box-shadow: 0 1px 0 rgba(8, 29, 72, 0.1);
}

.srq-page .srq-header-main {
  height: auto;
}

.srq-page .srq-btn,
.srq-page .srq-mobile-toggle,
.srq-page .srq-client-card {
  border-radius: 0.04rem;
}

.srq-page .srq-btn {
  min-height: 0.48rem;
  border-radius: 2px;
  box-shadow: none;
}

.srq-page .srq-client-card:hover {
  transform: none;
  box-shadow: none;
}

.srq-page .srq-client-card {
  box-shadow: none;
}


/* navlogo (2026-10-20): hamburger styling rides the drawer band (<=1024). */
@media (max-width: 1024px) {
  .srq-page .srq-mobile-toggle {
    position: static;
    flex: 0 0 0.44rem;
    padding: 0;
    transform: none;
  }

  .srq-page .srq-mobile-toggle i {
    position: static;
    margin: 0.05rem auto;
    transform: none;
  }

  .srq-page .srq-mobile-toggle.is-open i:nth-child(1) {
    transform: translateY(0.07rem) rotate(45deg);
  }

  .srq-page .srq-mobile-toggle.is-open i:nth-child(2) {
    opacity: 0;
    display: block;
  }

  .srq-page .srq-mobile-toggle.is-open i:nth-child(3) {
    transform: translateY(-0.07rem) rotate(-45deg);
  }

  .srq-page .srq-header-main {
    padding-right: 0;
  }

  .srq-page .srq-header-tools {
    flex: 1;
    justify-content: flex-end;
  }

  .srq-page .srq-header.is-nav-open .srq-menu {
    position: static;
    display: grid;
    width: auto;
    border-top: 0;
    background: transparent;
  }

  .srq-page .srq-menu .srq-menu-item {
    padding: 0;
  }

  .srq-page .srq-menu .srq-menu-item-head {
    border-bottom: 0;
  }

  .srq-page .srq-menu .srq-menu-link {
    line-height: 1.3;
    font-size: 0.16rem;
  }

}

/* Premium SRQ layout pass: fewer isolated boxes, stronger editorial hierarchy. */
.srq-page .srq-hero .srq-inner {
  grid-template-columns: minmax(0, 1fr) minmax(2.8rem, 3.6rem);
}

.srq-page .srq-client-grid {
  list-style: none;
  margin: 0;
  padding: 0;
}

.srq-page .srq-services {
  background:
    linear-gradient(90deg, rgba(11, 79, 159, 0.07), transparent 38%),
    #f7fafc;
}

.srq-page .srq-clients {
  background: #fff;
}

.srq-page .srq-client-grid {
  display: grid;
  border-top: 0;
}

.srq-page .srq-client-card {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  min-height: 1.32rem;
  padding: 0.2rem 0.18rem;
  border: 1px solid var(--srq-line);
  border-bottom: 1px solid var(--srq-line);
  border-radius: 0.14rem;
  background: #fff;
}

.srq-page .srq-client-card img {
  max-width: 1.8rem;
}

@media (max-width: 1024px) {
  .srq-page .srq-hero .srq-inner {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 768px) {

  .srq-page .srq-client-card {
    grid-template-columns: 1fr;
    gap: 0.1rem;
  }

}

/* Final SRQ navigation and centering overrides */

.srq-page .srq-menu .srq-menu-item-head {
  display: flex;
  align-items: center;
}

.srq-page .srq-nav-expander {
  display: none;
  flex: 0 0 0.36rem;
  width: 0.36rem;
  height: 0.36rem;
  margin-left: -0.08rem;
  border: 0;
  background: transparent;
  position: relative;
  cursor: pointer;
}

.srq-page .srq-nav-expander::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.09rem;
  height: 0.09rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translate(-50%, -65%) rotate(45deg);
  transition: transform 0.2s ease;
}

.srq-page .srq-menu .srq-nav-section {
  gap: 0.06rem;
}

.srq-page .srq-service-menu {
  display: flex;
  width: 100%;
  max-width: 100%;
  align-items: stretch;
  background: #fff;
  border-top: 1px solid #e3ebf2;
  box-shadow: 0 0.16rem 0.32rem rgba(8, 29, 72, 0.08);
  overflow: hidden;
  border-radius: 0;
}

.srq-page .srq-service-menu .srq-service-root-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(0.54rem, auto);
  align-content: start;
  align-items: stretch;
  max-height: none;
  padding-right: 0;
  row-gap: 0;
  column-gap: clamp(14px, 1.8vw, 24px);
}

.srq-page .srq-service-menu .srq-service-root-item {
  display: flex;
  align-items: center;
  align-self: stretch;
  width: auto;
  min-width: 0;
  min-height: 0.54rem;
  margin-left: 0;
  padding: 0.1rem 0;
  border-bottom: 1px solid var(--srq-line);
}

.srq-page .srq-service-menu .srq-service-root-item span {
  display: block;
  width: 100%;
  padding-right: 0.18rem;
  color: var(--srq-ink);
  font-size: 0.14rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.srq-page .srq-service-menu .srq-service-root-item:hover span {
  color: var(--srq-blue);
  background-image: url(../srq-media/cn/res/images/more_blue.png);
  background-repeat: no-repeat;
  background-position: center right;
}

/* The public services menu exposes only its four parent services. */
.srq-page .srq-service-menu .srq-service-root-list {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(0.58rem, auto);
  padding: 12px clamp(18px, 2.4vw, 28px) 16px;
  column-gap: clamp(18px, 2.4vw, 30px);
  row-gap: 0;
}

.srq-page .srq-service-menu .srq-service-root-item {
  min-height: 0.58rem;
  padding: 0.1rem 0;
}

.srq-page .srq-service-menu .srq-service-root-item span {
  font-size: 0.15rem;
  font-weight: 600;
}







/* --- srq-news international insights module --- */

.srq-page .srq-news {
  padding: 0.54rem 0 0.56rem;
  background:
    linear-gradient(180deg, #fff 0, #f7fbff 100%);
}

.srq-page .srq-news-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) 3.48rem;
  gap: 0.28rem;
  align-items: stretch;
}

.srq-page .srq-news-main {
  min-width: 0;
}

.srq-page .srq-news .srq-section-head p {
  max-width: 5.4rem;
}

.srq-page .srq-news .srq-section-head {
  margin-bottom: 0.22rem;
}

.srq-page .srq-news-date {
  color: var(--srq-blue-deep);
  font-weight: 700;
  letter-spacing: 0.02em;
}



.srq-page .srq-news-side {
  position: relative;
}

.srq-page .srq-news-side-card {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100%;
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0.16rem 0.34rem rgba(8, 29, 72, 0.07);
}

.srq-page .srq-news-side-media {
  position: relative;
  min-height: 0;
  overflow: hidden;
  background: linear-gradient(140deg, #eaf4ff 0, #f8fbff 100%);
}

.srq-page .srq-news-side-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.srq-page .srq-news-side-card:hover .srq-news-side-media img,
.srq-page .srq-news-side-card:focus-visible .srq-news-side-media img {
  transform: scale(1.03);
}

.srq-page .srq-news-side-text {
  padding: 0.16rem 0.18rem 0.18rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0, #f7fbff 100%);
}

.srq-page .srq-news-side-text h3 {
  margin: 0.1rem 0 0;
  color: var(--srq-ink);
  font-size: 0.2rem;
  line-height: 1.3;
  font-weight: 800;
}

.srq-page .srq-news-side-text p {
  margin: 0.09rem 0 0;
  color: var(--srq-muted);
  font-size: 0.13rem;
  line-height: 1.68;
}

.srq-page .srq-news-side-link {
  display: inline-flex;
  align-items: center;
  gap: 0.05rem;
  margin-top: 0.12rem;
  color: var(--srq-blue-deep);
  font-size: 0.12rem;
  font-weight: 700;
}

/* Empty state */
.srq-page .srq-news-empty {
  padding: 0.3rem 0;
  text-align: left;
  border-top: 1px solid var(--srq-line);
  border-bottom: 1px solid var(--srq-line);
}

.srq-page .srq-news-empty h3 {
  margin: 0 0 0.08rem;
  color: var(--srq-ink);
  font-size: 0.2rem;
  font-weight: 700;
}

.srq-page .srq-news-empty p {
  margin: 0 0 0.18rem;
  max-width: 5.4rem;
  color: var(--srq-muted);
  font-size: 0.15rem;
  line-height: 1.7;
}

.srq-page .srq-news-empty .srq-btn {
  display: inline-flex;
  min-height: 0.42rem;
  padding: 0 0.24rem;
  font-size: 0.14rem;
}



@media (max-width: 900px) {
  .srq-page .srq-news-shell {
    grid-template-columns: 1fr;
    gap: 0.22rem;
  }

  .srq-page .srq-news-side {
    order: 2;
  }

  .srq-page .srq-news-side-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(2.4rem, 3.2rem);
    align-items: stretch;
  }

  .srq-page .srq-news-side-media {
    order: 2;
    min-height: 2.4rem;
  }

  .srq-page .srq-news-side-text {
    order: 1;
  }

  }

@media (max-width: 768px) {
  .srq-page .srq-news {
    padding: 0.42rem 0 0.44rem;
  }

  .srq-page .srq-news .srq-section-head {
    margin-bottom: 0.18rem;
  }

  .srq-page .srq-news-side-media {
    order: 1;
    min-height: 2.2rem;
  }

  .srq-page .srq-news-side-text {
    order: 2;
    padding: 0.18rem 0.18rem 0.2rem;
  }

  .srq-page .srq-news-side-text h3 {
    font-size: 0.21rem;
  }

  
  .srq-page .srq-news-empty {
    padding: 0.24rem 0;
  }
}

.srq-page .srq-subhero {
  min-height: 3.2rem;
  display: flex;
  align-items: flex-end;
  padding: 0.96rem 0 0.58rem;
  color: #fff;
  background-size: cover;
  background-position: center;
}

.srq-page .srq-subhero-text {
  max-width: 7.6rem;
}

.srq-page .srq-subhero-text h1 {
  margin: 0.18rem 0 0;
  color: #fff;
  font-size: 0.64rem;
  line-height: 1.08;
  font-weight: 800;
}

.srq-page .srq-subhero-text p {
  margin-top: 0.16rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.18rem;
  line-height: 1.8;
}

.srq-page .srq-editor-page {
  background: linear-gradient(180deg, #fff 0, #f7fbff 100%);
}

.srq-page .srq-editor-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3.2rem;
  gap: 0.56rem;
}

.srq-page .srq-editor-shell:has(.srq-page-aside) {
  align-items: start;
}

.srq-page .srq-editor-content {
  min-width: 0;
}

.srq-page .srq-editor-content > :first-child {
  margin-top: 0;
}

.srq-page .srq-editor-content h2,
.srq-page .srq-editor-content h3,
.srq-page .srq-editor-content h4 {
  color: var(--srq-ink);
  font-weight: 800;
  line-height: 1.22;
}

.srq-page .srq-editor-content h2 {
  margin: 0 0 0.22rem;
  font-size: 0.432rem;
}

.srq-page .srq-editor-content h3 {
  margin: 0.28rem 0 0.12rem;
  font-size: 0.24rem;
}

.srq-page .srq-editor-content p,
.srq-page .srq-editor-content li {
  color: var(--srq-muted);
  font-size: 0.17rem;
  line-height: 1.95;
}

.srq-page .srq-editor-content ul,
.srq-page .srq-editor-content ol {
  margin: 0.18rem 0 0.18rem 0.22rem;
  padding: 0;
}

/* Ordered lists need their own restore: base.css resets ol to list-style:none
   and the legacy [class*='editor'] recovery (base) only covers ul, so numbers
   were stripped from every backend-edited <ol>. li inherits via the same rule. */
.srq-page .srq-editor-content ol {
  list-style-type: decimal;
}

.srq-page .srq-editor-content ul li,
.srq-page .srq-editor-content ol li {
  margin: 0.08rem 0;
}

.srq-page .srq-page-aside {
  display: grid;
  gap: 0.2rem;
  align-content: start;
}

.srq-page .srq-page-panel {
  padding: 0.24rem 0 0;
  border-top: 2px solid var(--srq-blue);
}

.srq-page .srq-page-panel h3 {
  margin: 0.14rem 0 0.12rem;
  color: var(--srq-ink);
  font-size: 0.24rem;
  line-height: 1.2;
}

.srq-page .srq-page-panel a,
.srq-page .srq-page-panel p {
  display: block;
  margin: 0.12rem 0;
  color: var(--srq-muted);
  line-height: 1.8;
}

.srq-page .srq-page-panel a:hover {
  color: var(--srq-blue);
}












/* navlogo (2026-10-20): in-drawer submenu mechanics ride the drawer band. */
@media (max-width: 1024px) {
  .srq-page .srq-nav-expander {
    display: block;
  }

  .srq-page .srq-menu .srq-menu-link {
    justify-content: flex-start;
    text-align: left;
  }

  .srq-page .srq-menu .srq-nav-panel {
    position: static;
    display: none;
    min-width: 0;
    width: auto;
    margin-top: 2px;
    transform: none;
    padding: 0 0 0.08rem;
    border-top: 0;
    box-shadow: none;
    background: transparent;
  }

  .srq-page .srq-service-menu {
    display: block;
    border-top: 0;
    box-shadow: none;
  }

  .srq-page .srq-service-menu .srq-service-root-list {
    display: block;
  }

  .srq-page .srq-service-menu .srq-service-root-item {
    display: block;
    width: 100%;
    padding: 0.1rem 0.14rem 0.1rem 0.26rem;
  }

  .srq-page .srq-service-menu .srq-service-root-item span {
    padding-right: 0;
  }

  .srq-page .srq-menu .srq-menu-item.is-open .srq-nav-panel {
    display: block;
  }

  .srq-page .srq-menu .srq-menu-item.is-open .srq-nav-expander::before {
    transform: translate(-50%, -35%) rotate(225deg);
  }

  .srq-page .srq-menu .srq-nav-link {
    padding: 0.08rem 0.14rem 0.08rem 0.26rem;
    color: var(--srq-muted);
    white-space: normal;
  }

  /* Flat-list resets (2026-09-14): the desktop dropdown layers keep (0,4,0)
     specificity inside this band — .srq-menu-wide keeps its translateX(-50%)
     centering (panel shoved half off-screen, its labels clipped away leaving
     bare separators), about/solutions keep max-content card sizing (140px
     white cards with shadow). Boost specificity and re-assert the flat
     full-width list. */
  html body .srq-page .srq-menu .srq-menu-wide .srq-nav-panel,
  html body .srq-page .srq-menu .srq-menu-solutions .srq-nav-panel,
  html body .srq-page .srq-menu .srq-menu-about .srq-nav-panel {
    left: auto;
    right: auto;
    width: 100%;
    min-width: 0;
    max-width: none;
    transform: none;
  }

  html body .srq-page .srq-menu .srq-menu-solutions .srq-nav-section,
  html body .srq-page .srq-menu .srq-menu-about .srq-nav-section {
    padding: 0;
    background: transparent;
    border-top: 0;
    box-shadow: none;
  }

  html body .srq-page .srq-menu .srq-menu-solutions .srq-nav-link,
  html body .srq-page .srq-menu .srq-menu-about .srq-nav-link {
    padding: 0.08rem 0.14rem 0.08rem 0.26rem;
    color: var(--srq-muted);
    font-size: 0.15rem;
    line-height: 1.5;
    text-align: left;
    white-space: normal;
  }

  /* mobilefix2 (2026-09-14):
     ① The desktop hover-open rule (.srq-menu-item:hover .srq-nav-panel,
        (0,4,0)) survives into this band — the panel was already visible on
        hover (or tap-simulated hover) before the expander was ever clicked,
        so the expander's toggle only flipped an invisible is-open state and
        read as dead. In this band panels open by expander click only. */
  html body .srq-page .srq-menu .srq-menu-item:hover:not(.is-open) .srq-nav-panel {
    display: none;
  }

  /* ② Services rows kept the desktop dropdown voice — weight 600, --srq-ink,
     58px min-height rows, hairline separators, hover arrow background-image —
     next to the muted 400 flat solutions/about links. Unify both families. */
  html body .srq-page .srq-menu .srq-service-menu .srq-service-root-item {
    min-height: 0;
    padding: 0.08rem 0.14rem 0.08rem 0.26rem;
    border-bottom: 0;
  }

  html body .srq-page .srq-menu .srq-service-menu .srq-service-root-item span {
    color: var(--srq-muted);
    font-size: 0.15rem;
    font-weight: 400;
    line-height: 1.5;
  }

  html body .srq-page .srq-menu .srq-service-menu .srq-service-root-item:hover span,
  html body .srq-page .srq-menu .srq-service-menu .srq-service-root-item:focus-visible span {
    color: var(--srq-blue);
    background-image: none;
    background-color: rgba(0, 51, 102, 0.06);
  }

  .srq-page .srq-subhero {
    min-height: 2.5rem;
    padding: 0.88rem 0 0.42rem;
  }

  .srq-page .srq-editor-shell {
    grid-template-columns: 1fr;
    gap: 0.32rem;
  }

  
  }

@media (min-width: 769px) {

}

/* Final client wall: two-row marquee with normalized partner logos. */
.srq-page .srq-clients {
  background: linear-gradient(180deg, #fafbfd 0%, #ffffff 100%);
}

.srq-page .srq-client-marquees {
  display: grid;
  gap: 0.18rem;
  padding-top: 0.12rem;
}

.srq-page .srq-client-marquee {
  position: relative;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}

.srq-page .srq-client-track {
  display: flex;
  width: max-content;
  animation: srq-client-marquee 34s linear infinite;
  will-change: transform;
}

.srq-page .srq-client-marquee--reverse .srq-client-track {
  animation-direction: reverse;
  animation-duration: 38s;
}

.srq-page .srq-client-marquees:hover .srq-client-track {
  animation-play-state: paused;
}

.srq-page .srq-client-grid {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.28rem;
  list-style: none;
  min-width: max-content;
  margin: 0;
  padding: 0.08rem 0.28rem 0.08rem 0;
}

/* clientmarquee (2026-10-30): width 必须与 flex-basis 同值。ul 的 max-content 按
   logo 固有宽度算、实际排布按 flex-basis 算，两者不等时窄 logo 组（第二行）的副本盒
   比内容窄 341.6px，两份副本互相压住（CVC 压 FEITIAN 即此）。补 width 让二者一致。 */
.srq-page .srq-client-card,
.srq-page .srq-client-card:hover {
  flex: 0 0 1.728rem;
  width: 1.728rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0.82rem;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.srq-page .srq-client-card img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: none !important;
  opacity: 1;
  transition: none !important;
}

.srq-page .srq-client-card .srq-client-logo {
  width: min(100%, var(--srq-logo-width, 158px));
  height: 0.52rem;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
}

.srq-page .srq-client-logo--arista {
  --srq-logo-width: 1.64rem;
}

.srq-page .srq-client-logo--sunmi {
  --srq-logo-width: 1.52rem;
}

.srq-page .srq-client-logo--barracuda {
  --srq-logo-width: 1.58rem;
}

.srq-page .srq-client-logo--feitian {
  --srq-logo-width: 1.5rem;
}

.srq-page .srq-client-logo--fireeye {
  --srq-logo-width: 1.48rem;
  clip-path: inset(21% 0 21% 0);
  transform: scale(1.12);
}

.srq-page .srq-client-logo--midea {
  --srq-logo-width: 1.62rem;
}

.srq-page .srq-client-logo--portwell {
  --srq-logo-width: 1.4rem;
}

.srq-page .srq-client-logo--lg {
  --srq-logo-width: 1.52rem;
}

.srq-page .srq-client-logo--dekra {
  --srq-logo-width: 1.44rem;
}

.srq-page .srq-client-logo--intertek {
  --srq-logo-width: 1.48rem;
}

.srq-page .srq-client-logo--element {
  --srq-logo-width: 1.46rem;
}

.srq-page .srq-client-logo--eurofins {
  --srq-logo-width: 1.52rem;
}

.srq-page .srq-client-logo--cvc {
  --srq-logo-width: 1.26rem;
}

.srq-page .srq-client-logo--grl {
  --srq-logo-width: 1.18rem;
}

@keyframes srq-client-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (max-width: 1024px) {
  .srq-page .srq-client-grid {
    gap: 0.22rem;
    padding-right: 0.22rem;
  }

  .srq-page .srq-client-card,
  .srq-page .srq-client-card:hover {
    flex-basis: clamp(132px, 18vw, 170px);
    width: clamp(132px, 18vw, 170px);
    min-height: 0.74rem;
  }

  .srq-page .srq-client-card .srq-client-logo {
    height: 0.48rem;
  }
}

@media (max-width: 768px) {
  .srq-page .srq-client-marquees {
    gap: 0.14rem;
  }

  .srq-page .srq-client-marquee {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
  }

  .srq-page .srq-client-track {
    animation-duration: 30s;
  }

  .srq-page .srq-client-marquee--reverse .srq-client-track {
    animation-duration: 34s;
  }

  .srq-page .srq-client-grid {
    gap: 0.18rem;
    padding: 0.06rem 0.18rem 0.06rem 0;
  }

  .srq-page .srq-client-card,
  .srq-page .srq-client-card:hover {
    flex-basis: 1.32rem;
    width: 1.32rem;
    min-height: 0.64rem;
  }

  .srq-page .srq-client-card .srq-client-logo {
    height: 0.42rem;
  }
}

@media (max-width: 520px) {
  .srq-page .srq-client-track {
    animation-duration: 26s;
  }

  .srq-page .srq-client-marquee--reverse .srq-client-track {
    animation-duration: 30s;
  }

  .srq-page .srq-client-grid {
    gap: 0.14rem;
    padding-right: 0.14rem;
  }

  .srq-page .srq-client-card,
  .srq-page .srq-client-card:hover {
    flex-basis: 1.18rem;
    width: 1.18rem;
    min-height: 0.56rem;
  }

  .srq-page .srq-client-card .srq-client-logo {
    height: 0.36rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .srq-page .srq-client-marquee {
    overflow: visible;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .srq-page .srq-client-track {
    display: grid;
    width: 100%;
    animation: none;
    gap: 0.14rem;
  }

  /* rmorphans (2026-11-02): 静态降级态曾按固定 1.728rem 卡宽自由换行，7 个 logo 在
     1920/1680/1440 排成 6+1、手机排成 2+2+2+1、360px 甚至 1+1+1…… 最后一个 logo
     孤零零占一行（用户截图即此）。改为按列数定宽：每行恰好 --srq-client-cols 个，
     末行不足时由 justify-content:center 居中，行内永不出现孤立项。
     -1px 抵消 flex 取整误差，保证满行不被挤到下一行。 */
  .srq-page .srq-client-marquees {
    --srq-client-gap: 0.28rem;
    --srq-client-cols: 7;
  }

  /* 选择器多带一层 .srq-client-marquees：本条要压过文末那条接缝对齐规则
     （gap 0.34rem + padding-right 0.34rem），否则列宽按 0.28 算、实际间距 0.34，
     满行还是会被挤掉一个。 */
  .srq-page .srq-client-marquees .srq-client-grid {
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--srq-client-gap);
    min-width: 0;
    padding-right: 0;
  }

  .srq-page .srq-client-card,
  .srq-page .srq-client-card:hover {
    flex: 0 0 calc((100% - (var(--srq-client-cols) - 1) * var(--srq-client-gap)) / var(--srq-client-cols) - 1px);
    width: calc((100% - (var(--srq-client-cols) - 1) * var(--srq-client-gap)) / var(--srq-client-cols) - 1px);
  }

  .srq-page .srq-client-grid[aria-hidden="true"] {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) and (max-width: 1024px) {
  .srq-page .srq-client-marquees {
    --srq-client-gap: 0.22rem;
    --srq-client-cols: 4;
  }
}

@media (prefers-reduced-motion: reduce) and (max-width: 768px) {
  .srq-page .srq-client-marquees {
    --srq-client-gap: 0.18rem;
  }
}

@media (prefers-reduced-motion: reduce) and (max-width: 520px) {
  .srq-page .srq-client-marquees {
    --srq-client-gap: 0.14rem;
  }
}

/* Final global compaction pass: reduce section heights and vertical whitespace site-wide. */
.srq-page .srq-hero {
  min-height: 4.9rem;
}

.srq-page .srq-hero .srq-inner,
.srq-page .srq-footer-grid,
.srq-page .srq-editor-shell {
  gap: 0.34rem;
}

.srq-page .srq-hero h1 {
  margin: 0.14rem 0;
}

.srq-page .srq-hero p {
  font-size: 0.17rem;
  line-height: 1.66;
}


.srq-page .srq-section {
  padding: 0.62rem 0;
}

.srq-page .srq-section-head {
  margin-bottom: 0.22rem;
}

.srq-page .srq-subhero {
  min-height: 2.2rem;
  padding: 0.74rem 0 0.32rem;
}

.srq-page .srq-subhero-text p {
  margin-top: 0.1rem;
  font-size: 0.16rem;
}

.srq-page .srq-page-aside {
  gap: 0.12rem;
}

.srq-page .srq-page-panel {
  padding-top: 0.14rem;
}

.srq-page .srq-footer .srq-footer-bottom {
  width: 100%;
  min-height: 2.592rem;
  /* Preserve the content baseline while the footer artwork extends upward. */
  padding: var(--srq-footer-art-lift) 0 0;
}

.srq-page .srq-footer-shell {
  min-height: 0;
  padding: 0 0 0.12rem;
  gap: 0.14rem;
}

  .srq-page .srq-footer-legal-band {
    margin-top: 0;
    padding-top: 0.07rem;
  }

  .srq-page .srq-footer p {
    margin-top: 0.05rem;
  }

@media (max-width: 1024px) {
  .srq-page .srq-hero {
    min-height: 4.5rem;
  }

  .srq-page .srq-section {
    padding: 0.52rem 0;
  }

  .srq-page .srq-hero .srq-inner,
  .srq-page .srq-editor-shell,
  .srq-page .srq-footer-grid {
    gap: 0.22rem;
  }

  .srq-page .srq-subhero {
    min-height: 2rem;
    padding: 0.72rem 0 0.28rem;
  }

  .srq-page .srq-footer .srq-footer-bottom::after {
    background: linear-gradient(90deg, rgba(237, 243, 248, 0.22) 0, rgba(237, 243, 248, 0.32) 44%, rgba(237, 243, 248, 0.54) 74%, rgba(237, 243, 248, 0.72) 100%);
  }
}

@media (max-width: 768px) {
  .srq-page .srq-hero {
    min-height: 4.3rem;
    padding: 0.52rem 0 0.56rem;
  }

  .srq-page .srq-section {
    padding: 0.44rem 0;
  }

  .srq-page .srq-section-head {
    margin-bottom: 0.18rem;
  }

  .srq-page .srq-subhero {
    min-height: 1.9rem;
    padding: 0.72rem 0 0.24rem;
  }

  .srq-page .srq-footer .srq-footer-bottom {
    min-height: 2.2rem;
    padding: 0;
  }

  .srq-page .srq-footer-shell {
    padding: 0.1rem 0 0.04rem;
    min-height: 0;
    gap: 0.08rem;
  }

  
  .srq-page .srq-footer .srq-footer-legal {
    align-items: center;
    gap: 0.06rem;
    min-height: 0.28rem;
    padding: 0 0.06rem 0 0.04rem;
  }

  .srq-page .srq-footer .srq-footer-legal-text, .srq-page .srq-footer .srq-footer-legal-text p {
    /* 2026-11-02 typebump-r2: 0.1 → 0.12rem. 10px sat four steps under the
       meta floor and is the one size that reads as a defect rather than a
       choice; 12px is the smallest step that stays legible. */
    font-size: 0.12rem;
    line-height: 1.35;
    white-space: nowrap;
  }

  .srq-page .srq-footer .srq-footer-record {
    gap: 0.1rem;
  }

  .srq-page .srq-footer .srq-footer-record-link {
    gap: 0.04rem;
  }

  .srq-page .srq-footer .srq-footer-record-icon {
    width: 0.13rem;
    height: 0.13rem;
    flex-basis: 0.13rem;
    object-fit: contain;
  }

  .srq-page .srq-footer-grid {
    grid-template-columns: 1fr;
    gap: 0.14rem;
  }

  .srq-page .srq-footer-qr {
    justify-items: start;
    width: var(--srq-footer-qr-size);
  }

}

/* Responsive hardening: keep all templates fluid on laptop, tablet, and mobile widths. */
.srq-page .srq-editor-content img,
.srq-page .srq-editor-content video,
.srq-page .srq-editor-content canvas {
  max-width: 100%;
  height: auto;
}

.srq-page .srq-editor-content iframe,
.srq-page .srq-editor-content table,
.srq-page .srq-editor-content pre {
  max-width: 100%;
}

.srq-page .srq-editor-content table,
.srq-page .srq-editor-content pre {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.srq-page .srq-editor-content p, .srq-page .srq-editor-content li, .srq-page .srq-footer p, .srq-page .srq-footer .srq-footer-legal-text p {
  overflow-wrap: anywhere;
}

.srq-page .srq-service-menu {
  max-width: 100%;
}

.srq-page .srq-footer-shell, .srq-page .srq-footer .srq-footer-bottom {
  height: auto;
}

.srq-page .srq-footer .srq-footer-bottom {
  min-height: 2.592rem;
}

.srq-page .srq-footer-shell {
  min-height: 0;
}

/* navlogo (2026-10-20): this band split — the canvas inner and the logo
   downshift stay 769-1366 so 769-1024 keeps rendering continuously (they are
   not menu rules), while every horizontal-menu rule below moves to >=1025:
   769-1024 is drawer territory, and leaving them at 769 would let these
   desktop menu sizes (higher specificity html-body forms live at :7907-era
   blocks) leak into the drawer rows. */
@media (max-width: 1366px) and (min-width: 769px) {
  .srq-page .srq-inner {
    width: min(11.2rem, calc(100% - 0.4rem));
  }

  .srq-page .srq-logo img {
    width: 1.92rem;
  }
}

@media (min-width: 1025px) and (max-width: 1366px) {
  .srq-page .srq-header-tools {
    gap: 0.04rem;
  }

  .srq-page .srq-menu .srq-menu-link {
    padding: 0.05rem 0.09rem;
    font-size: 0.16rem;
  }

  .srq-page .srq-menu .srq-menu-wide .srq-nav-panel {
    width: calc(100% - 0.04rem);
    max-width: calc(100vw - 20px);
  }

  .srq-page .srq-service-menu {
    max-height: min(78vh, 5.6rem);
  }

  .srq-page .srq-service-menu .srq-service-root-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0.14rem;
  }

  .srq-page .srq-service-menu .srq-service-root-item {
    min-height: 0.5rem;
    padding: 0.1rem 0;
  }
}

@media (max-width: 1100px) and (min-width: 769px) {
  .srq-page .srq-inner {
    width: min(10rem, calc(100% - 0.32rem));
  }

  .srq-page .srq-editor-shell {
    grid-template-columns: 1fr;
    gap: 0.24rem;
  }

  .srq-page .srq-footer-grid {
    grid-template-columns: minmax(0, 1fr) 2rem;
    gap: 0.2rem 0.24rem;
    align-items: start;
  }

  .srq-page .srq-footer .srq-footer-legal-text, .srq-page .srq-footer .srq-footer-legal-text p {
    white-space: normal;
  }
}



/* navlogo (2026-10-20): drawer scroll containment rides the drawer band. */
@media (max-width: 1024px) {
  .srq-page .srq-nav {
    max-height: calc(100vh - 0.72rem);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .srq-page .srq-service-menu {
    max-height: none;
    overflow: visible;
  }
}

@media (max-width: 768px) {
  .srq-page .srq-footer-shell, .srq-page .srq-footer .srq-footer-bottom {
    min-height: 0;
  }
}

/* White geometry content system: unify all non-header, non-footer sections. */
.srq-page {
  --srq-geo-line: rgba(11, 79, 159, 0.12);
  --srq-geo-line-soft: rgba(11, 79, 159, 0.07);
  --srq-geo-dot: rgba(11, 79, 159, 0.18);
  --srq-geo-edge: rgba(11, 79, 159, 0.22);
  --srq-curve-line: rgba(11, 79, 159, 0.14);
  --srq-curve-line-soft: rgba(11, 79, 159, 0.08);
  --srq-curve-mist: rgba(11, 79, 159, 0.045);
  --srq-curve-node: rgba(11, 79, 159, 0.16);
  --srq-geo-rail-width: clamp(106px, 8.6vw, 150px);
  --srq-geo-rail-gap: clamp(28px, 3vw, 46px);
  --srq-inner-half: min(600px, calc(50vw - 24px));
  background: #fff;
}

.srq-page .srq-main,
.srq-page .srq-hero,
.srq-page .srq-subhero,
.srq-page .srq-services,
.srq-page .srq-solutions,
.srq-page .srq-news,
.srq-page .srq-clients,
.srq-page .srq-editor-page {
  background: transparent;
}

.srq-page .srq-main {
  position: relative;
  isolation: isolate;
}

.srq-page .srq-main::before,
.srq-page .srq-main::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--srq-geo-rail-width);
  pointer-events: none;
  z-index: 1;
  opacity: 0.84;
  background:
    radial-gradient(184% 34% at 6% 4%, transparent 67.4%, var(--srq-curve-line) 68.3%, transparent 69.3%) 0 0 / 100% 28% no-repeat,
    radial-gradient(178% 32% at 82% 22%, transparent 71.6%, var(--srq-curve-line-soft) 72.5%, transparent 73.5%) 0 14% / 100% 28% no-repeat,
    radial-gradient(194% 38% at 14% 48%, transparent 68.3%, var(--srq-curve-line) 69.1%, transparent 70.1%) 0 34% / 100% 30% no-repeat,
    radial-gradient(176% 34% at 86% 68%, transparent 72.2%, var(--srq-curve-line-soft) 73%, transparent 74%) 0 58% / 100% 28% no-repeat,
    radial-gradient(188% 38% at 20% 102%, transparent 69.3%, var(--srq-curve-line) 70.1%, transparent 71.1%) 0 80% / 100% 24% no-repeat,
    radial-gradient(104% 26% at 44% 16%, var(--srq-curve-mist) 0, rgba(11, 79, 159, 0.016) 46%, transparent 72%) 0 6% / 100% 36% no-repeat,
    radial-gradient(92% 24% at 52% 68%, rgba(11, 79, 159, 0.036) 0, rgba(11, 79, 159, 0.014) 42%, transparent 72%) 0 52% / 100% 34% no-repeat,
    radial-gradient(circle, var(--srq-curve-node) 0 1.15px, transparent 2px) 78% 8% / 12px 112px repeat-y,
    radial-gradient(circle, rgba(11, 79, 159, 0.1) 0 1px, transparent 1.8px) 34% 46% / 10px 126px repeat-y;
}

.srq-page .srq-main::before {
  left: max(10px, calc(50% - var(--srq-inner-half) - var(--srq-geo-rail-gap) - var(--srq-geo-rail-width)));
  opacity: 0.88;
}

.srq-page .srq-main::after {
  right: max(10px, calc(50% - var(--srq-inner-half) - var(--srq-geo-rail-gap) - var(--srq-geo-rail-width)));
  opacity: 0.64;
  transform: scaleX(-1);
  transform-origin: center;
}

.srq-page .srq-hero,
.srq-page .srq-subhero,
.srq-page .srq-section {
  position: relative;
  overflow: clip;
}

.srq-page .srq-section {
  padding: 0.72rem 0;
}

.srq-page .srq-hero-shell,
.srq-page .srq-subhero-shell,
.srq-page .srq-section-shell {
  position: relative;
  isolation: isolate;
  z-index: 2;
}

.srq-page .srq-hero-shell > *,
.srq-page .srq-subhero-shell > *,
.srq-page .srq-section-shell > * {
  position: relative;
  z-index: 1;
}

.srq-page .srq-hero::before,
.srq-page .srq-subhero::before,
.srq-page .srq-section::before,
.srq-page .srq-hero::after,
.srq-page .srq-subhero::after,
.srq-page .srq-section::after {
  content: "";
  position: absolute;
  top: 0.18rem;
  width: 0.86rem;
  height: 0.76rem;
  pointer-events: none;
  z-index: 1;
  background:
    radial-gradient(152% 152% at 0 100%, transparent 63.2%, var(--srq-curve-line) 64%, transparent 65%) 0 0 / 100% 100% no-repeat,
    radial-gradient(134% 122% at 18% 82%, transparent 72%, var(--srq-curve-line-soft) 73%, transparent 74%) 12px 10px / 58px 42px no-repeat,
    radial-gradient(circle, var(--srq-curve-node) 0 1.1px, transparent 1.8px) right 4px top 12px / 12px 12px no-repeat,
    radial-gradient(circle, rgba(11, 79, 159, 0.1) 0 1px, transparent 1.7px) right 10px top 34px / 10px 10px no-repeat;
  opacity: 0.82;
}

.srq-page .srq-hero::before,
.srq-page .srq-subhero::before,
.srq-page .srq-section::before {
  left: max(8px, calc(50% - var(--srq-inner-half) - var(--srq-geo-rail-gap) - 90px));
}

.srq-page .srq-hero::after,
.srq-page .srq-subhero::after,
.srq-page .srq-section::after {
  right: max(8px, calc(50% - var(--srq-inner-half) - var(--srq-geo-rail-gap) - 90px));
  transform: scaleX(-1);
}

.srq-page .srq-hero .srq-hero-shell::before,
.srq-page .srq-hero .srq-hero-shell::after,
.srq-page .srq-section-shell::before,
.srq-page .srq-section-shell::after,
.srq-page .srq-subhero-shell::after {
  content: none;
}

.srq-page .srq-section-head {
  position: relative;
  margin-bottom: 0.28rem;
  padding-right: 1.08rem;
}

.srq-page .srq-section-head::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0.12rem;
  width: 0.84rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(11, 79, 159, 0), var(--srq-geo-line) 36%, rgba(11, 79, 159, 0.24) 100%);
}

.srq-page .srq-section-head p {
  max-width: 5.2rem;
  color: #69778a;
}

.srq-page .srq-hero {
  min-height: 0;
  padding: 0.42rem 0 0.3rem;
  color: var(--srq-ink);
}

.srq-page .srq-hero .srq-hero-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(3rem, 3.64rem);
  gap: 0.36rem;
  align-items: stretch;
  padding: 0.46rem 0.48rem 0.42rem;
  border-top: 1px solid var(--srq-geo-line);
  border-bottom: 1px solid var(--srq-geo-line-soft);
}

.srq-page .srq-hero .srq-hero-shell::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.96rem;
  height: 1.32rem;
  pointer-events: none;
  background:
    radial-gradient(124% 116% at 0 0, transparent 61.4%, var(--srq-curve-line) 62.4%, transparent 63.4%) 0 0 / 188px 122px no-repeat,
    radial-gradient(110% 104% at 14% 12%, rgba(11, 79, 159, 0.04) 0, rgba(11, 79, 159, 0.016) 44%, transparent 70%) 0 0 / 168px 118px no-repeat,
    radial-gradient(circle, var(--srq-curve-node) 0 1.1px, transparent 1.8px) 134px 18px / 12px 12px no-repeat;
  opacity: 0.76;
}

.srq-page .srq-hero .srq-hero-shell::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 1.4rem;
  height: 0.88rem;
  pointer-events: none;
  background:
    radial-gradient(136% 136% at 100% 100%, transparent 63.6%, var(--srq-curve-line-soft) 64.6%, transparent 65.7%) 0 0 / 100% 100% no-repeat,
    radial-gradient(circle, rgba(11, 79, 159, 0.1) 0 1px, transparent 1.8px) 82% 14% / 10px 72px repeat-y;
  opacity: 0.34;
}

.srq-page .srq-hero h1 {
  margin: 0.14rem 0;
  color: var(--srq-ink);
  font-size: 0.68rem;
  letter-spacing: -0.04em;
}

.srq-page .srq-hero p {
  max-width: 7.2rem;
  color: #617183;
  font-size: 0.17rem;
  line-height: 1.72;
}

.srq-page .srq-btn {
  border-radius: 0;
}

.srq-page .srq-btn-primary {
  box-shadow: none;
}

.srq-page .srq-btn-ghost {
  color: var(--srq-blue-deep);
  border-color: rgba(11, 79, 159, 0.2);
  background: transparent;
}

.srq-page .srq-btn-ghost:hover,
.srq-page .srq-btn-ghost:focus-visible {
  color: #fff;
  background: var(--srq-blue-deep);
}

.srq-page .srq-services .srq-section-shell,
.srq-page .srq-solutions .srq-section-shell,
.srq-page .srq-news .srq-section-shell,
.srq-page .srq-clients .srq-section-shell,
.srq-page .srq-editor-page .srq-section-shell {
  padding-top: 0.06rem;
}

.srq-page .srq-services {
  background: transparent;
  padding-bottom: 0.44rem;
}

.srq-page .srq-solutions {
  background: transparent;
}

.srq-page .srq-news {
  padding: 0.58rem 0 0.6rem;
}

.srq-page .srq-news-shell {
  grid-template-columns: minmax(0, 1.16fr) 3.2rem;
  gap: 0.32rem;
}

.srq-page .srq-news-side-card {
  box-shadow: none;
  background: transparent;
}

.srq-page .srq-news-side-media {
  min-height: 100%;
  border: 1px solid rgba(19, 34, 56, 0.1);
  background: #f8fbff;
}

.srq-page .srq-news-side-text {
  padding: 0.16rem 0 0;
  background: transparent;
}

.srq-page .srq-clients {
  background: transparent;
}

.srq-page .srq-client-grid {
  gap: 0.24rem 0.34rem;
  /* clientmarquee (2026-10-30): 接缝间距必须等于列间距 0.34rem。本条是全表最后一条
     .srq-client-grid 声明（后位胜出），所以在这里对齐；否则两份副本交界的间隔只有
     0.28/0.18/0.14rem，循环回卷时整排会跳一下。 */
  padding-right: 0.34rem;
}

.srq-page .srq-subhero {
  min-height: 0;
  padding: 0.36rem 0 0;
  color: var(--srq-ink);
}

.srq-page .srq-subhero-shell {
  display: flex;
  align-items: flex-end;
  min-height: 2.92rem;
  padding: 0.36rem 3.8rem 0.34rem 0;
  border-top: 1px solid var(--srq-geo-line);
  border-bottom: 1px solid var(--srq-geo-line-soft);
}

.srq-page .srq-subhero-shell::before {
  top: 0.26rem;
  right: 0;
  width: min(34%, 3.6rem);
  height: auto;
  bottom: 0.26rem;
  background:
    linear-gradient(180deg, rgba(8, 29, 72, 0.16), rgba(8, 29, 72, 0.16)),
    var(--srq-subhero-image) center / cover no-repeat;
}

.srq-page .srq-subhero-shell::after {
  content: "";
  left: auto;
  right: 0.12rem;
  bottom: 0.14rem;
  width: 1.26rem;
  height: 0.78rem;
  pointer-events: none;
  background:
    radial-gradient(140% 140% at 100% 100%, transparent 64%, var(--srq-curve-line-soft) 64.9%, transparent 66%) 0 0 / 100% 100% no-repeat,
    radial-gradient(circle, rgba(11, 79, 159, 0.11) 0 1px, transparent 1.7px) 84% 18% / 10px 64px repeat-y;
  opacity: 0.32;
}

.srq-page .srq-subhero-text {
  max-width: 7.2rem;
}

.srq-page .srq-subhero-text h1 {
  margin: 0.12rem 0 0;
  color: var(--srq-ink);
}

.srq-page .srq-subhero-text p {
  color: #617183;
  font-size: 0.17rem;
  line-height: 1.72;
}

.srq-page .srq-editor-page {
  background: transparent;
}

.srq-page .srq-editor-shell {
  gap: 0.44rem;
}

.srq-page .srq-page-panel {
  padding-top: 0.18rem;
  border-top-color: var(--srq-blue-deep);
}



.srq-page {
  background-color: #FFFFFF;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600'%3E%3Cpath fill='%239C92AC' fill-opacity='0.10' d='M600 325.1v-1.17c-6.5 3.83-13.06 7.64-14.68 8.64-10.6 6.56-18.57 12.56-24.68 19.09-5.58 5.95-12.44 10.06-22.42 14.15-1.45.6-2.96 1.2-4.83 1.9l-4.75 1.82c-9.78 3.75-14.8 6.27-18.98 10.1-4.23 3.88-9.65 6.6-16.77 8.84-1.95.6-3.99 1.17-6.47 1.8l-6.14 1.53c-5.29 1.35-8.3 2.37-10.54 3.78-3.08 1.92-6.63 3.26-12.74 5.03a384.1 384.1 0 0 1-4.82 1.36c-2.04.58-3.6 1.04-5.17 1.52a110.03 110.03 0 0 0-11.2 4.05c-2.7 1.15-5.5 3.93-8.78 8.4a157.68 157.68 0 0 0-6.15 9.2c-5.75 9.07-7.58 11.74-10.24 14.51a50.97 50.97 0 0 1-4.6 4.22c-2.33 1.9-10.39 7.54-11.81 8.74a14.68 14.68 0 0 0-3.67 4.15c-1.24 2.3-1.9 4.57-2.78 8.87-2.17 10.61-3.52 14.81-8.2 22.1-4.07 6.33-6.8 9.88-9.83 12.99-.47.48-.95.96-1.5 1.48l-3.75 3.56c-1.67 1.6-3.18 3.12-4.86 4.9a42.44 42.44 0 0 0-9.89 16.94c-2.5 8.13-2.72 15.47-1.76 27.22.47 5.82.51 6.36.51 8.18 0 10.51.12 17.53.63 25.78.24 4.05.56 7.8.97 11.22h.9c-1.13-9.58-1.5-21.83-1.5-37 0-1.86-.04-2.4-.52-8.26-.94-11.63-.72-18.87 1.73-26.85a41.44 41.44 0 0 1 9.65-16.55c1.67-1.76 3.18-3.27 4.83-4.85.63-.6 3.13-2.96 3.75-3.57a71.6 71.6 0 0 0 1.52-1.5c3.09-3.16 5.86-6.76 9.96-13.15 4.77-7.42 6.15-11.71 8.34-22.44.86-4.21 1.5-6.4 2.68-8.6.68-1.25 1.79-2.48 3.43-3.86 1.38-1.15 9.43-6.8 11.8-8.72 1.71-1.4 3.26-2.81 4.7-4.3 2.72-2.85 4.56-5.54 10.36-14.67a156.9 156.9 0 0 1 6.1-9.15c3.2-4.33 5.9-7.01 8.37-8.07 3.5-1.5 7.06-2.77 11.1-4.02a233.84 233.84 0 0 1 7.6-2.2l2.38-.67c6.19-1.79 9.81-3.16 12.98-5.15 2.14-1.33 5.08-2.33 10.27-3.65l6.14-1.53c2.5-.63 4.55-1.2 6.52-1.82 7.24-2.27 12.79-5.06 17.15-9.05 4.05-3.72 9-6.2 18.66-9.9l4.75-1.82c1.87-.72 3.39-1.31 4.85-1.91 10.1-4.15 17.07-8.32 22.76-14.4 6.05-6.45 13.95-12.4 24.49-18.92 1.56-.96 7.82-4.6 14.15-8.33v-64.58c-4 8.15-8.52 14.85-12.7 17.9-2.51 1.82-5.38 4.02-9.04 6.92a1063.87 1063.87 0 0 0-6.23 4.98l-1.27 1.02a2309.25 2309.25 0 0 1-4.87 3.9c-7.55 6-12.9 10.05-17.61 13.19-3.1 2.06-3.86 2.78-8.06 7.13-5.84 6.07-11.72 8.62-29.15 10.95-11.3 1.5-20.04 4.91-30.75 11.07-1.65.94-7.27 4.27-6.97 4.1-2.7 1.58-4.69 2.69-6.64 3.66-5.63 2.8-10.47 4.17-15.71 4.17-17.13 0-41.44 11.51-51.63 22.83-12.05 13.4-31.42 27.7-45.25 31.16-7.4 1.85-11.85 7.05-14.04 14.69-1.26 4.4-1.58 8.28-1.58 13.82 0 .82.01.98.24 3.63.45 5.18.35 8.72-.77 13.26-1.53 6.2-4.89 12.6-10.59 19.43-13.87 16.65-22.88 46.58-22.88 71.68 0 2.39.02 4.26.06 8.75.12 10.8.1 15.8-.22 21.95-.56 11.18-2.09 20.73-5 29.3h-1.05c2.94-8.56 4.49-18.12 5.05-29.35.31-6.13.34-11.1.22-21.9-.04-4.48-.06-6.36-.06-8.75 0-25.32 9.07-55.47 23.12-72.32 5.6-6.72 8.88-12.99 10.38-19.03 1.09-4.4 1.18-7.85.74-12.93-.23-2.7-.24-2.86-.24-3.72 0-5.62.32-9.57 1.62-14.1 2.28-7.95 6.97-13.44 14.76-15.39 13.6-3.4 32.82-17.59 44.75-30.84C409 360.14 433.58 348.5 451 348.5c5.07 0 9.77-1.33 15.26-4.07 1.93-.96 3.9-2.05 6.58-3.62-.3.18 5.33-3.16 6.98-4.11 10.82-6.21 19.66-9.67 31.11-11.2 17.23-2.3 22.9-4.75 28.57-10.64 4.25-4.41 5.04-5.16 8.22-7.28 4.68-3.11 10.01-7.14 17.55-13.14a1113.33 1113.33 0 0 0 4.86-3.89l1.28-1.02a4668.54 4668.54 0 0 1 6.23-4.98c3.67-2.9 6.55-5.12 9.07-6.95 4.37-3.19 9.16-10.56 13.29-19.4v66.9zm0-116.23c-.62.01-1.27.06-1.95.13-6.13.63-13.83 3.45-21.83 7.45-3.64 1.82-8.46 2.67-14.17 2.71-4.7.04-9.72-.47-14.73-1.33-1.7-.3-3.26-.61-4.67-.93a31.55 31.55 0 0 0-3.55-.57 273.4 273.4 0 0 0-16.66-.88c-10.42-.16-17.2.74-17.97 2.73-.38.97.6 2.55 3.03 4.87 1.01.97 2.22 2.03 4.04 3.55a1746.07 1746.07 0 0 0 4.79 4.02c1.39 1.2 3.1 1.92 5.5 2.5.7.16.86.2 2.64.54 3.53.7 5.03 1.25 6.15 2.63 1.41 1.76 1.4 4.54-.15 8.88-2.44 6.83-5.72 10.05-10.19 10.33-3.63.23-7.6-1.29-14.52-5.06-4.53-2.47-6.82-7.3-8.32-15.26-.17-.87-.32-1.78-.5-2.86l-.43-2.76c-1.05-6.58-1.9-9.2-3.73-10.11-.81-.4-1.59-.74-2.36-1-2.27-.77-4.6-1.02-8.1-.92-2.29.07-14.7 1-13.77.93-20.55 1.37-28.8 5.05-37.09 14.99a133.07 133.07 0 0 0-4.25 5.44l-2.3 3.09-2.51 3.32c-4.1 5.36-7.06 8.48-10.39 11.12-.65.52-1.33 1.04-2.13 1.62l-4.11 2.94a106.8 106.8 0 0 0-5.16 3.99c-4.55 3.74-9.74 8.6-16.25 15.38-8.25 8.58-11.78 13.54-11.7 15.95.07 1.65 1.64 2.11 6.79 2.38 1.61.09 2.15.12 2.98.2 2.95.24 5.09.73 6.81 1.68 7.48 4.15 11.63 7.26 13.95 11.58 3.3 6.15.8 12.88-8.89 20.26-8.28 6.3-11.1 10.37-11.31 14.96-.06 1.17 0 1.93.26 4.43.69 6.47.25 10.65-2.8 17.42a44.23 44.23 0 0 1-4.16 7.53c-2.82 3.97-5.47 5.74-10.6 7.69-.43.16-3.34 1.23-4.27 1.59-1.8.68-3.38 1.36-5.01 2.14-4.18 2-8.4 4.6-13.1 8.24-8.44 6.51-13.23 14.56-15.98 25.06-1.1 4.2-1.55 6.81-2.8 15.21-1.26 8.6-2.17 12.64-4.08 16.55-2.1 4.28-11.93 26.59-12.97 28.88a382.7 382.7 0 0 1-6.37 13.41c-4.07 8.11-7.61 14.07-10.73 17.81-5.38 6.46-8.98 14.37-13.77 28.42a810.14 810.14 0 0 0-1.89 5.6c-1.8 5.35-2.96 8.6-4.26 11.85-6.13 15.32-25.43 26.31-46.46 26.31-11.2 0-20.58-2.74-31.02-8.55-5.6-3.13-4.55-2.42-22.26-14.54-14.33-9.8-17.7-10.73-20.47-6.9-.37.5-1.81 2.74-1.83 2.77a52.24 52.24 0 0 1-4.94 5.9c-.73.79-5.52 5.87-6.97 7.45-2.38 2.6-4.3 4.81-5.98 6.93a45.6 45.6 0 0 0-5.08 7.66c-1.29 2.57-1.9 5.25-2.66 10.6a997.6 997.6 0 0 1-.46 3.18h-1l.47-3.32c.77-5.45 1.4-8.2 2.75-10.9a46.54 46.54 0 0 1 5.2-7.84c1.7-2.14 3.63-4.38 6.03-6.98 1.45-1.59 6.24-6.68 6.96-7.46a51.58 51.58 0 0 0 4.84-5.78s1.47-2.26 1.86-2.8c3.25-4.5 7.08-3.44 21.84 6.67 17.67 12.08 16.62 11.38 22.19 14.48 10.3 5.73 19.5 8.43 30.53 8.43 20.65 0 39.57-10.77 45.54-25.69a219.7 219.7 0 0 0 4.24-11.8 6752.32 6752.32 0 0 0 1.88-5.6c4.83-14.16 8.47-22.14 13.96-28.73 3.05-3.66 6.56-9.57 10.6-17.61 1.97-3.93 4.04-8.31 6.35-13.38 1.03-2.28 10.88-24.61 12.98-28.91 1.85-3.79 2.75-7.76 4-16.25 1.24-8.44 1.7-11.07 2.81-15.32 2.8-10.7 7.71-18.94 16.33-25.6a73.18 73.18 0 0 1 13.29-8.35c1.66-.8 3.27-1.48 5.08-2.18.94-.36 3.86-1.43 4.28-1.59 4.95-1.88 7.44-3.55 10.14-7.33 1.35-1.9 2.68-4.3 4.06-7.37 2.97-6.58 3.39-10.59 2.72-16.9a27.13 27.13 0 0 1-.27-4.58c.22-4.94 3.21-9.24 11.7-15.7 9.33-7.11 11.66-13.34 8.62-19-2.2-4.09-6.25-7.12-13.55-11.17-1.57-.88-3.6-1.33-6.42-1.57-.8-.07-1.34-.1-2.95-.19-5.77-.3-7.63-.85-7.72-3.34-.1-2.81 3.5-7.87 11.97-16.69 6.53-6.8 11.75-11.69 16.33-15.45 1.79-1.47 3.42-2.72 5.2-4.03l4.12-2.94c.79-.58 1.46-1.08 2.1-1.59 3.26-2.6 6.16-5.65 10.21-10.94a383.2 383.2 0 0 0 2.5-3.32l2.31-3.09c1.8-2.39 3.04-4 4.29-5.48 8.47-10.17 16.98-13.96 37.27-15.3-.44.02 12-.9 14.32-.98 3.62-.1 6.05.16 8.46.98.8.27 1.62.62 2.47 1.04 2.27 1.14 3.17 3.87 4.27 10.85l.44 2.76c.17 1.07.33 1.97.5 2.83 1.44 7.69 3.62 12.29 7.8 14.57 6.76 3.68 10.6 5.15 13.99 4.94 4-.25 6.99-3.17 9.3-9.67 1.45-4.04 1.46-6.49.32-7.92-.9-1.12-2.28-1.62-5.57-2.27a55.8 55.8 0 0 1-2.67-.55c-2.54-.6-4.39-1.4-5.93-2.71a252.63 252.63 0 0 0-4.78-4.01 84.35 84.35 0 0 1-4.08-3.6c-2.73-2.6-3.86-4.43-3.28-5.95 1.02-2.64 7.82-3.54 18.93-3.37a230.56 230.56 0 0 1 16.73.88c2.76.39 3.2.49 3.68.6 1.4.3 2.95.62 4.62.91a82.9 82.9 0 0 0 14.56 1.32c5.56-.04 10.24-.86 13.73-2.6 8.1-4.05 15.89-6.9 22.17-7.56.7-.07 1.4-.11 2.05-.13v1zm0-100.94v1.5c-8.62 16.05-17.27 29.55-23.65 35.92-3.19 3.2-7.62 4.9-13.54 5.56-4.45.48-8.28.4-19.18-.2-9.91-.55-15.32-.44-20.52.78a84.05 84.05 0 0 1-15 2.11l-2.25.14c-12.49.75-19.37 1.78-32.72 5.74-4.5 1.33-9.27 2.49-14.3 3.48a246.27 246.27 0 0 1-32.6 3.97c-7.56.45-13.21.57-20.24.57-5.4 0-11.9 1.61-18 5.18-8.3 4.87-15.06 12.87-19.53 24.5a68.57 68.57 0 0 1-4.56 9.8c-3.6 6.2-6.92 8.99-13.38 12.18l-4.03 1.96a64.48 64.48 0 0 0-15.16 10.25c-8.2 7.33-13.72 16.63-22.54 35.6l-2.08 4.49c-7.3 15.7-11.5 23.3-17.35 29.87-7.7 8.66-20.25 14.42-40.31 20.08-4.37 1.23-19.04 5.08-19.24 5.13-6.92 1.87-11.68 3.34-15.63 4.92-10.55 4.22-18.71 10.52-36.38 26.52l-1.7 1.54c-8.58 7.76-13.41 11.9-18.81 15.88-3.95 2.9-8 5.67-12.97 8.91-2.06 1.34-10.3 6.6-12.33 7.94-11.52 7.5-18.53 13.04-24.62 20.08a62.01 62.01 0 0 0-6.44 8.85c-4.13 6.91-6.27 13.15-9.2 25.11l-1.54 6.26c-.6 2.45-1.15 4.54-1.72 6.58-2.97 10.7-6.9 17.36-14.78 26.91L69.6 491a148.51 148.51 0 0 0-4.19 5.3 23.9 23.9 0 0 0-3.44 6.28c-1.16 3.23-1.52 5.9-1.87 11.94-.58 10.05-1.42 15.04-4.63 22.67-1.57 3.72-5.66 14.02-6.41 15.8a73.46 73.46 0 0 1-3.57 7.4c-2.88 5.14-6.71 10.12-13.12 16.95-5.96 6.36-8.87 10.9-10.61 16a56.88 56.88 0 0 0-1.38 4.82l-.46 1.84h-1.03l.52-2.08c.52-2.09.92-3.49 1.4-4.9 1.8-5.25 4.78-9.9 10.84-16.36 6.35-6.78 10.13-11.7 12.97-16.77a72.5 72.5 0 0 0 3.52-7.29c.75-1.76 4.84-12.06 6.4-15.8 3.17-7.5 3.99-12.4 4.56-22.33.35-6.14.72-8.88 1.93-12.23a24.9 24.9 0 0 1 3.58-6.54c1.27-1.7 2.6-3.37 4.22-5.34l4.11-4.95c7.8-9.46 11.66-16 14.59-26.54.56-2.04 1.1-4.12 1.71-6.56l1.53-6.26c2.96-12.04 5.13-18.36 9.32-25.39 1.84-3.08 4-6.05 6.54-8.99 6.17-7.12 13.24-12.7 24.83-20.26 2.05-1.33 10.28-6.6 12.33-7.94 4.96-3.22 9-5.98 12.92-8.87 5.37-3.95 10.19-8.08 18.74-15.82l1.7-1.54c17.76-16.09 25.98-22.43 36.67-26.7 4-1.6 8.8-3.09 15.75-4.96.21-.06 14.87-3.9 19.22-5.13 19.9-5.61 32.32-11.31 39.85-19.78 5.76-6.48 9.93-14.02 17.18-29.64l2.09-4.5c8.87-19.07 14.44-28.46 22.77-35.9a65.48 65.48 0 0 1 15.38-10.4l4.04-1.97c6.3-3.1 9.47-5.77 12.96-11.77a67.6 67.6 0 0 0 4.48-9.67c4.56-11.84 11.47-20.02 19.97-25 6.25-3.66 12.93-5.32 18.5-5.32 7.01 0 12.65-.12 20.17-.57a245.3 245.3 0 0 0 32.47-3.96c5-.98 9.75-2.13 14.22-3.45 13.43-3.98 20.38-5.02 32.94-5.78l2.24-.14c5.76-.37 9.8-.9 14.85-2.09 5.31-1.25 10.79-1.35 22.6-.7 9.04.5 12.84.58 17.21.1 5.71-.62 9.94-2.26 12.95-5.26 6.44-6.45 15.3-20.37 24.35-36.72zm0 450.21c-1.28-4.6-2.2-10.55-3.33-20.25l-.24-2.04-.23-2.03c-1.82-15.7-3.07-21.98-5.55-24.47-2.46-2.46-3.04-5.03-2.52-8.64.1-.6.18-1.1.39-2.15.69-3.54.77-5.04.08-6.84-.91-2.38-3.31-4.41-7.79-6.26-5.08-2.09-6.52-4.84-4.89-8.44.66-1.45 1.79-3.02 3.52-5.01 1.04-1.2 5.48-5.96 5.08-5.53 6.15-6.7 8.98-11.34 8.98-16.48a15.2 15.2 0 0 1 6.5-12.89v1.26a14.17 14.17 0 0 0-5.5 11.63c0 5.47-2.93 10.29-9.24 17.16.38-.42-4.04 4.33-5.07 5.5-1.67 1.93-2.75 3.43-3.36 4.77-1.37 3.04-.23 5.22 4.36 7.1 4.71 1.95 7.32 4.16 8.34 6.83.78 2.04.7 3.67-.03 7.4-.2 1.03-.3 1.51-.38 2.09-.48 3.33.03 5.59 2.23 7.8 2.74 2.74 3.98 8.96 5.84 25.06l.24 2.03.23 2.04c.82 7.01 1.53 12.06 2.34 16.03v4.33zm0-62.16c-1.4-3.13-4.43-9.9-4.95-11.17-1.02-2.53-1.25-3.8-.91-5.18.2-.84 2.05-4.68 2.32-5.33a70.79 70.79 0 0 0 3.54-11.2v3.99a62.82 62.82 0 0 1-2.62 7.6c-.31.75-2.09 4.46-2.27 5.18-.28 1.12-.08 2.22.87 4.57.41 1.02 2.5 5.7 4.02 9.09v2.45zm0-85.09c-1.65 1.66-3.66 2.9-6.4 4.13-.25.1-13.97 5.47-20.4 8.43-9.35 4.32-16.7 5.9-23.03 5.25-5.08-.53-9.02-2.25-14.77-5.92l-3.2-2.07a77.4 77.4 0 0 0-5.44-3.27c-4.05-2.18-3.25-5.8 1.47-10.47 3.71-3.68 9.6-7.93 18.73-13.8l4.46-2.82c17.95-11.33 18.22-11.5 22.27-14.74 11.25-9 19.69-14.02 26.31-15.1v1.02c-6.37 1.1-14.62 6-25.69 14.86-4.1 3.28-4.34 3.44-22.36 14.8a652.4 652.4 0 0 0-4.45 2.83c-9.07 5.83-14.92 10.05-18.57 13.66-4.31 4.28-4.95 7.13-1.7 8.88 1.7.91 3.29 1.88 5.5 3.3l3.2 2.08c5.64 3.59 9.45 5.25 14.34 5.76 6.13.64 13.32-.9 22.52-5.15 6.46-2.98 20.18-8.35 20.4-8.44 3.04-1.37 5.1-2.71 6.81-4.69v1.47zm0-41.37v1c-6.56.26-12.11 3.13-19.71 9.08l-4.63 3.68a51.87 51.87 0 0 1-4.4 3.14c-.82.52-5.51 3.33-6.22 3.76-3.31 2-6.15 3.8-8.87 5.6a112.61 112.61 0 0 0-8.16 5.92c-4.61 3.72-7.4 6.9-7.97 9.35-.63 2.67 1.48 4.53 7.05 5.46 10.7 1.78 20.92-.05 30.45-4.65a61.96 61.96 0 0 0 17.1-12.2 41.8 41.8 0 0 0 5.36-7.42v1.92a38.94 38.94 0 0 1-4.64 6.19 62.95 62.95 0 0 1-17.39 12.41c-9.7 4.68-20.13 6.55-31.05 4.73-6.06-1-8.65-3.29-7.85-6.67.64-2.74 3.53-6.05 8.31-9.9 2.35-1.9 5.1-3.88 8.24-5.97 2.73-1.82 5.58-3.61 8.9-5.62.72-.44 5.4-3.24 6.22-3.75 1.26-.8 2.6-1.76 4.3-3.09.8-.62 3.9-3.1 4.63-3.67 7.77-6.1 13.49-9.04 20.33-9.3zm0-154.6v1c-1.75-.24-4.3.23-7.82 1.55-10.01 3.75-13.8 5.07-19.15 6.76-1.78.56-2.63.83-3.87 1.24-1.48.5-3.16.76-6.74 1.16a1550.34 1550.34 0 0 0-2.64.3c-7.8.94-11.28 2.47-11.28 6.07 0 4.45 2.89 13.18 7.96 25.81a57.34 57.34 0 0 1 2.33 7.6 258.32 258.32 0 0 1 .84 3.46c1.86 7.62 3.17 10.71 5.56 11.67 2.21.88 4.7.6 7.47-.72 3.48-1.69 7.22-4.94 11.2-9.47 1.52-1.7 2.97-3.49 4.59-5.57l3.16-4.1c2.59-3.23 6.07-12.21 8.39-20.23v3.45c-2.29 7.2-5.27 14.5-7.61 17.41-.44.55-2.67 3.46-3.15 4.09-1.63 2.1-3.1 3.9-4.62 5.62-4.08 4.61-7.9 7.94-11.53 9.7-2.99 1.44-5.77 1.75-8.28.74-2.84-1.13-4.2-4.34-6.15-12.35a2097.48 2097.48 0 0 1-.84-3.46c-.8-3.2-1.47-5.45-2.28-7.46-5.14-12.8-8.04-21.55-8.04-26.19 0-4.37 3.84-6.06 12.16-7.07a160.9 160.9 0 0 1 2.65-.3c3.5-.39 5.15-.64 6.53-1.1 1.26-.42 2.1-.7 3.88-1.26 5.34-1.68 9.11-3 19.1-6.74 3.53-1.32 6.22-1.84 8.18-1.61zM0 292c10.13-11.31 18.13-23.2 23.07-35.39 3.3-8.14 6.09-16.12 10.81-30.55l1.59-4.84c6.53-19.94 10.11-29.82 14.77-39.56 6.07-12.72 12.55-21.18 20.27-25.54 6.66-3.76 10.2-7.86 12.22-13.15a46.6 46.6 0 0 0 1.86-6.58c1.23-5.2 2.05-7.59 3.93-10.36 2.45-3.62 6.27-6.53 12.1-8.96 15.78-6.58 16.73-7.04 18.05-9.01.65-.98.83-2.15.74-4.51-.03-.73-.23-3.82-.24-4A93.8 93.8 0 0 1 119 94c0-10.04.18-11.37 2.37-13.15.52-.42 1.13-.8 2.07-1.3.27-.14 2.18-1.12 2.84-1.48a68.4 68.4 0 0 0 9.12-5.87c2.06-1.54 2.64-2.14 8.01-7.93 3.78-4.09 6.21-6.36 8.96-8.12 3.64-2.33 7.2-3.12 10.9-2.11 4.4 1.2 10.81 2 18.78 2.46 6.9.4 12.9.5 21.95.5 4.87 0 8.97.47 15.4 1.57 7.77 1.33 9.3 1.54 12.38 1.54 4.05 0 7.43-.88 10.68-2.95 5.06-3.22 8.11-4.67 11.2-5.2 3.62-.64 4.77-.46 16.55 2.06 17.26 3.7 30.85 1.36 41.06-9.7 5.1-5.53 5.48-8.9 3.48-14.8-.83-2.42-1.03-3.1-1.17-4.3-.29-2.52.5-4.71 2.71-6.93 2.65-2.65 4.72-9.17 6.22-18.29h2.03c-1.56 9.71-3.77 16.65-6.83 19.7-1.79 1.8-2.36 3.39-2.14 5.28.11 1 .3 1.63 1.07 3.9 2.22 6.53 1.76 10.66-3.9 16.8-10.77 11.66-25.07 14.13-42.95 10.3-11.42-2.45-12.55-2.62-15.78-2.06-2.77.48-5.62 1.84-10.47 4.92a20.93 20.93 0 0 1-11.76 3.27c-3.25 0-4.81-.22-12.73-1.57C212.74 59.46 208.73 59 204 59c-9.1 0-15.11-.1-22.07-.5-8.09-.47-14.62-1.29-19.2-2.54-5.62-1.53-10.17 1.38-17.85 9.66-5.5 5.94-6.08 6.53-8.28 8.18a70.38 70.38 0 0 1-9.38 6.03c-.68.37-2.58 1.35-2.84 1.49-.84.44-1.35.76-1.75 1.08C121.16 83.6 121 84.8 121 94c0 1.85.06 3.54.17 5.44 0 .17.2 3.28.24 4.03.1 2.75-.13 4.29-1.08 5.71-1.67 2.5-2.27 2.8-18.95 9.74-5.48 2.29-8.99 4.96-11.2 8.24-1.71 2.51-2.47 4.73-3.64 9.7-.83 3.5-1.21 4.92-1.94 6.83-2.18 5.73-6.05 10.19-13.1 14.18-7.3 4.12-13.55 12.28-19.46 24.66-4.6 9.64-8.17 19.46-14.67 39.32l-1.58 4.84c-4.75 14.47-7.54 22.48-10.86 30.69-5.28 13.01-13.95 25.65-24.93 37.6v-2.97zm0 78v-.5l1-.01c6.32 0 7.47 5.2 4.6 13.36a60.36 60.36 0 0 1-5.6 11.3v-1.92a57.76 57.76 0 0 0 4.65-9.72c2.69-7.6 1.71-12.02-3.65-12.02-.34 0-.67 0-1 .02v-46.59a340.96 340.96 0 0 0 13.71-8.34c13.66-9.46 29.79-37.6 29.79-53.59 0-18.1 21.57-72.64 32.23-79.42 12.71-8.09 32.24-27.96 35.8-37.75 1.93-5.3 5.5-7.27 14.42-9.37 6.15-1.44 8.64-2.42 10.67-4.79 1.5-1.74 2.72-4.79 4.33-10.3.23-.78 1.9-6.68 2.43-8.46 3.62-12.08 7.3-18.49 13.47-20.39 2.5-.76 3.03-.98 9.74-3.7 7.49-3.03 11.97-4.43 17.12-4.92 6.75-.65 13.13.75 19.55 4.67 5.43 3.32 12.19 4.72 20.17 4.56 6.03-.12 12.2-1.07 19.83-2.8 1.82-.4 7.38-1.74 8.26-1.94 2.69-.6 4.34-.89 5.48-.89 4.97 0 8.93-.05 14.2-.27 7.9-.32 15.56-.92 22.75-1.88 8.5-1.14 15.9-2.73 21.88-4.82 18.9-6.62 32.64-18.3 33.67-27.59.29-2.56.4-2.96 2.79-11.11 2.33-7.95 3.21-12.93 2.72-18.23-.2-2.24-.69-4.38-1.48-6.42-1.5-3.92-2.63-9.4-3.43-16.18h.9c.77 6.47 1.89 11.72 3.47 15.82a24.93 24.93 0 0 1 1.54 6.69c.5 5.46-.4 10.54-2.77 18.6-2.36 8.06-2.47 8.47-2.74 10.95-1.09 9.75-15.1 21.68-34.33 28.41-6.06 2.12-13.52 3.72-22.09 4.87-7.22.96-14.92 1.57-22.83 1.89-5.3.21-9.27.27-14.25.27-1.04 0-2.64.27-5.26.87-.87.2-6.43 1.53-8.26 1.94-7.68 1.73-13.92 2.7-20.03 2.82-8.15.17-15.1-1.27-20.71-4.7-6.23-3.81-12.4-5.16-18.93-4.54-5.04.48-9.44 1.86-16.84 4.86-6.75 2.74-7.29 2.95-9.82 3.73-5.73 1.76-9.28 7.96-12.81 19.72-.53 1.77-2.2 7.66-2.43 8.46-1.66 5.65-2.91 8.78-4.53 10.67-2.22 2.58-4.84 3.62-12.01 5.3-7.8 1.83-11.13 3.66-12.9 8.54-3.65 10.04-23.32 30.06-36.2 38.25C65.94 190 44.5 244.2 44.5 262c0 16.34-16.3 44.78-30.22 54.41-2.14 1.48-8.24 5.12-14.28 8.68v-1.16 46.09zm0-173.7v-1.11c7.42-3.82 14.55-10.23 21.84-18.98 3.8-4.56 14.21-18.78 15.79-20.55 1.8-2.04 4.06-3.96 7.42-6.45 1.08-.8 4.92-3.57 5.49-3.99 9.36-6.85 14-11.96 15.98-19.36.8-2.98 1.54-6.78 2.46-12.3.23-1.44 2-12.46 2.56-15.79 2.87-16.77 5.73-26.79 10.07-32.1C92.46 52.43 101.5 38.13 101.5 33c0-2.54.34-3.35 6.05-15.71.68-1.49 1.25-2.74 1.77-3.93 2.5-5.75 3.9-10.04 4.14-13.36h1c-.23 3.48-1.66 7.87-4.23 13.76-.52 1.2-1.09 2.45-1.78 3.95-5.54 12.01-5.95 12.99-5.95 15.29 0 5.47-9.09 19.84-20.11 33.31-4.2 5.12-7.03 15.06-9.86 31.64-.57 3.33-2.33 14.33-2.57 15.78-.92 5.56-1.67 9.38-2.48 12.4-2.05 7.68-6.82 12.93-16.35 19.91l-5.49 3.98c-3.3 2.45-5.51 4.34-7.27 6.31-1.53 1.73-11.94 15.93-15.76 20.53-7.52 9.02-14.88 15.6-22.61 19.46zm0 361.83v-4.33c.48 2.36 1 4.35 1.6 6.15 2 6.03 4.6 8.26 8.19 6.59C28.76 557.69 43.5 542.4 43.5 527c0-16.2 6.37-31.99 17.1-46.3 1.88-2.5 3.66-4.4 5.53-6 .73-.62 1.45-1.18 2.3-1.8l2-1.43c3.68-2.68 5.32-5.28 7.08-12.59.75-3.07 1.38-5.02 4.2-13.26l.63-1.88c3.24-9.58 4.56-14.97 4.17-18.65-.48-4.43-3.8-5.23-11.3-1.64a81.12 81.12 0 0 1-9.15 3.7c-13.89 4.67-26.96 5.8-42.66 5.42l-1.95-.05-1.45-.02a39.8 39.8 0 0 0-15.05 2.96A21.81 21.81 0 0 0 0 438.37v-1.26a23.55 23.55 0 0 1 4.55-2.57 40.77 40.77 0 0 1 16.92-3.02l1.95.05c15.6.38 28.57-.75 42.32-5.37a80.12 80.12 0 0 0 9.04-3.65c8.04-3.84 12.16-2.85 12.72 2.43.42 3.89-.92 9.34-4.21 19.08l-.64 1.88c-2.8 8.2-3.43 10.15-4.16 13.18-1.82 7.52-3.59 10.34-7.47 13.16l-2 1.43c-.84.6-1.54 1.15-2.25 1.75a35.45 35.45 0 0 0-5.37 5.84c-10.61 14.15-16.9 29.74-16.9 45.7 0 15.88-15 31.45-34.29 40.45-4.3 2.01-7.39-.66-9.56-7.18-.23-.68-.44-1.39-.65-2.13zm0-62.16v-2.45l1.46 3.27c2.1 4.8 3.46 10.33 4.26 16.77.66 5.3.84 9.3 1.04 18.5.2 9.32.5 12.75 1.63 15.05 1.28 2.6 3.67 2.35 8.29-1.5 17.14-14.3 21.82-22.9 21.82-38.62 0-7.17 1.1-12.39 3.7-17.68 2.27-4.67 3.65-6.62 13.4-19.62a69.8 69.8 0 0 1 7.6-8.79 44.76 44.76 0 0 1 3.54-3.06c.38-.3.64-.52.89-.74a10.47 10.47 0 0 0 2.63-3.32 35.78 35.78 0 0 0 2.26-5.94l.37-1.2.36-1.15c.29-.91.48-1.55.66-2.16.45-1.53.74-2.68.91-3.66.38-2.2.12-3.49-.85-4.15-2.35-1.61-9.28-.24-23.8 4.94-9.54 3.4-16.12 4.17-27.85 4.26-7.71.06-10.43.4-13.25 2.12-3.48 2.12-5.84 6.4-7.58 14.26-.5 2.2-.99 4.19-1.49 5.98v-3.98l.51-2.22c1.8-8.1 4.28-12.6 8.04-14.9 3.04-1.85 5.86-2.2 13.77-2.26 11.61-.09 18.1-.84 27.51-4.2 14.93-5.32 21.95-6.71 24.7-4.83 1.38.94 1.71 2.6 1.28 5.15a33.69 33.69 0 0 1-.94 3.78l-.66 2.17-.36 1.15-.37 1.2a36.64 36.64 0 0 1-2.33 6.1c-.8 1.53-1.61 2.52-2.86 3.61l-.92.77-1.02.83c-.9.74-1.65 1.4-2.47 2.18a68.84 68.84 0 0 0-7.48 8.66c-9.7 12.93-11.07 14.87-13.31 19.46-2.52 5.15-3.59 10.22-3.59 17.24 0 16.04-4.82 24.91-22.18 39.38-5.04 4.2-8.18 4.55-9.83 1.18-1.22-2.5-1.52-5.94-1.73-15.47-.2-9.16-.38-13.15-1.03-18.4-.79-6.34-2.12-11.8-4.19-16.49L0 495.98zM379.27 0h1.04l1.5 5.26c3.28 11.56 4.89 19.33 5.26 27.8.49 11.01-1.52 21.26-6.63 31.17-7.8 15.13-20.47 26.5-36.22 34.1-12.38 5.96-26.12 9.17-36.22 9.17-6.84 0-17.24 1.38-37.27 4.62l-2.27.37c-24.5 3.99-31.65 5-37.46 5-3.49 0-4.08-.08-19.54-2.8-3.56-.64-6.32-1.1-9-1.5-20.23-2.96-31-1.2-31.96 7.86-.1.85-.18 1.72-.29 2.81l-.27 2.73c-1.1 10.9-2.02 15.73-4.31 19.96-2.9 5.34-7.77 7.95-15.63 7.95-10.2 0-12.92.6-15.5 3.17.52-.51-5.03 5.85-8.16 8.7-2.75 2.5-14.32 12.55-15.77 13.83a341.27 341.27 0 0 0-6.54 5.92c-6.97 6.49-11.81 11.76-14.6 16.15-5.92 9.3-10.48 18.04-11.69 24.08-1.66 8.3 3.67 9.54 19.02 1.21a626.23 626.23 0 0 1 44.54-21.9c3.5-1.56 14.04-6.2 15.68-6.95 5.05-2.25 8.3-3.8 10.78-5.15l1.95-1.07 2.18-1.18c1.76-.94 3.38-1.76 5-2.55 18.1-8.72 34.48-10.46 50.33-1.2 22.89 13.34 38.28 37.02 38.28 56.44 0 19.12-.73 25.13-5.18 33.2a45.32 45.32 0 0 1-4.94 7.12c-6.47 7.77-11.81 16.2-12.76 21.27-1.2 6.34 4.69 7.03 20.17-.05 13.31-6.08 22.4-14.95 28.5-26.32a80.51 80.51 0 0 0 6.1-15.13c.9-2.98 3.17-11.65 3.41-12.48a29.02 29.02 0 0 1 1.75-4.83c7.47-14.93 21.09-30.5 36.25-37.24 7.61-3.38 13-9.65 19.4-20.79.84-1.48 4.26-7.64 5.14-9.17 3.52-6.1 6.22-9.7 9.37-11.98 10.15-7.4 28.7-11.1 50.29-11.1 7.52 0 16.54-1.24 27.51-3.58a420.1 420.1 0 0 0 14.96-3.52c-1.3.33 15.54-3.98 19.42-4.89 14.15-3.33 41.07-5.01 64.11-5.01 17.36 0 27.82-9.23 38.53-38.67 6.62-18.21 6.62-26.37 2.69-34.35l-1.18-2.37A13.36 13.36 0 0 1 587.5 58c0-4.03 0-4.01 2.5-24.56.46-3.73.8-6.74 1.12-9.64.9-8.45 1.38-15.2 1.38-20.8 0-.94-.02-1.94-.04-3h1c.03 1.06.04 2.06.04 3 0 5.65-.48 12.43-1.39 20.9-.3 2.91-.66 5.93-1.11 9.66-2.5 20.45-2.5 20.47-2.5 24.44 0 1.97.45 3.57 1.45 5.68.24.51 1.16 2.35 1.17 2.36 4.06 8.24 4.06 16.68-2.65 35.13-10.84 29.8-21.63 39.33-39.47 39.33-22.96 0-49.83 1.68-63.89 4.99-3.86.9-20.69 5.2-19.4 4.88a421.05 421.05 0 0 1-14.99 3.53c-11.04 2.35-20.11 3.6-27.72 3.6-21.4 0-39.76 3.67-49.7 10.9-3 2.19-5.64 5.7-9.1 11.68-.87 1.52-4.29 7.68-5.14 9.17-6.49 11.3-12 17.71-19.86 21.2-14.9 6.63-28.38 22.03-35.75 36.77a28.17 28.17 0 0 0-1.69 4.67c-.23.8-2.5 9.49-3.4 12.5a81.48 81.48 0 0 1-6.19 15.3c-6.2 11.56-15.44 20.58-28.96 26.76-16.1 7.36-23 6.55-21.58-1.04 1-5.29 6.4-13.83 12.99-21.73a44.33 44.33 0 0 0 4.82-6.96c4.35-7.88 5.06-13.77 5.06-32.72 0-19.04-15.19-42.4-37.72-55.55-15.57-9.08-31.62-7.38-49.45 1.21a132.9 132.9 0 0 0-7.14 3.71l-1.95 1.07a158.83 158.83 0 0 1-10.85 5.19c-1.65.74-12.18 5.38-15.69 6.95a625.25 625.25 0 0 0-44.46 21.86c-15.95 8.66-22.37 7.16-20.48-2.29 1.24-6.2 5.83-15.02 11.82-24.42 2.85-4.48 7.74-9.8 14.77-16.34 1.98-1.85 4.12-3.79 6.56-5.94 1.46-1.29 13.02-11.33 15.75-13.82 3.09-2.8 8.6-9.14 8.14-8.67 2.82-2.82 5.75-3.46 16.2-3.46 7.5 0 12.04-2.43 14.75-7.42 2.2-4.07 3.11-8.84 4.2-19.59l.26-2.73.3-2.81c.56-5.42 4.47-8.5 11.23-9.6 5.44-.88 12.51-.51 21.86.86 2.7.4 5.47.86 9.04 1.49 15.33 2.7 15.96 2.8 19.36 2.8 5.73 0 12.9-1.03 37.3-5l2.27-.36c20.1-3.26 30.52-4.64 37.43-4.64 9.95 0 23.54-3.18 35.78-9.08 15.57-7.5 28.09-18.73 35.78-33.65 5.02-9.75 7-19.82 6.51-30.67-.37-8.37-1.96-16.08-5.23-27.57L379.27 0zm13.68 0h1.02c.78 3.9 1.92 8.7 3.51 14.88 3.63 14.05 3.06 27.03-.75 38.77a61 61 0 0 1-11.35 20.68 138.36 138.36 0 0 1-19.32 18.77c-11.32 9.02-23.36 15.49-35.95 18.39a258.63 258.63 0 0 1-22.57 4.07c-3.17.44-6.36.85-10.3 1.32l-9.39 1.12c-11.53 1.41-17.45 2.55-21.64 4.46-9.28 4.21-28.35 6.04-49.21 6.04-1.37 0-2.8-.12-4.3-.35-2.62-.41-5-1.03-9.14-2.29-7.34-2.21-9.63-2.75-12.63-2.56-3.9.23-6.63 2.29-8.47 6.89-1.86 4.66-2.42 7.53-3.34 14.98-1.1 8.98-2.87 12.12-9.97 14.3a40.12 40.12 0 0 0-6.8 2.66c-.63.33-1.16.64-1.76 1.02l-1.34.86c-1.9 1.14-3.86 1.49-9.25 1.49-3.2 0-8.83-.55-9.51-.39-1.22.28-.75-.14-7.14 6.24-1.5 1.5-3.49 3.18-6.32 5.37-1.52 1.18-7.16 5.43-7.94 6.03-4.96 3.78-8.33 6.6-11.06 9.38-4.88 4.98-6.85 9.15-5.56 12.7 1.34 3.67 4.07 4.42 8.9 2.82a55.72 55.72 0 0 0 7.77-3.48c1.5-.77 7.78-4.13 9.37-4.96a116.8 116.8 0 0 1 12.31-5.68 162.2 162.2 0 0 0 11.04-4.84c2.04-.97 10.74-5.16 13-6.22 4.41-2.1 8.1-3.78 11.65-5.29 17.14-7.3 29.32-9.9 37.67-6.65l5.43 2.1c2.3.88 4.17 1.62 6.02 2.38a150.9 150.9 0 0 1 13.07 6c18.34 9.63 30.35 22.13 34.79 39.87 6.96 27.85 3.6 45.53-8.08 62.4-3.97 5.75-3.52 9.2.06 8.97 4.14-.28 10.21-4.95 15.11-12.52 3.1-4.8 5.1-10.45 8.05-21.53l1.69-6.35c.66-2.47 1.24-4.52 1.83-6.5 4.93-16.56 11-27.28 21.56-34.76 7.15-5.06 23.73-15.5 25.48-16.75 6.74-4.81 10.53-9.44 14.34-18 7.74-17.44 21.09-24.34 44.47-24.34 9.36 0 17.91-1.13 29.53-3.49a624.86 624.86 0 0 0 6.2-1.28c2.4-.5 4.07-.84 5.66-1.13 4.03-.74 7.04-1.1 9.61-1.1 4.44 0 9.39-1 31.39-5.99l2.95-.66c16.34-3.67 25.64-5.35 31.66-5.35 1.54 0 2.4.01 6.4.1 7.8.15 12.27.13 17.33-.2 16.41-1.06 26.73-5.36 29.8-14.56a87.1 87.1 0 0 1 3.55-8.83c-.15.31 2.29-4.96 2.9-6.38 5.38-12.3 5.57-21.92-1.44-39.44a86.4 86.4 0 0 1-5.26-20.72c-1.61-11.98-1.38-23.14.1-40.35l.2-2.12h1l-.2 2.2c-1.48 17.15-1.7 28.24-.11 40.14a85.4 85.4 0 0 0 5.2 20.47c7.1 17.78 6.91 27.67 1.43 40.22-.62 1.43-3.06 6.72-2.91 6.4a86.17 86.17 0 0 0-3.52 8.73c-3.23 9.72-13.9 14.15-30.68 15.24-5.1.33-9.58.35-17.42.2-3.98-.09-4.84-.1-6.37-.1-5.91 0-15.18 1.67-31.44 5.32l-2.95.67c-22.16 5.02-27.05 6.01-31.61 6.01-2.5 0-5.45.36-9.43 1.09-1.58.29-3.25.62-5.64 1.11a4894.21 4894.21 0 0 0-6.2 1.29c-11.68 2.37-20.3 3.51-29.73 3.51-23.02 0-36 6.71-43.53 23.66-3.9 8.8-7.82 13.58-14.7 18.5-1.78 1.27-18.36 11.7-25.48 16.75-10.34 7.32-16.3 17.87-21.19 34.23-.58 1.96-1.15 4-1.82 6.47l-1.69 6.35c-2.98 11.18-5 16.9-8.17 21.81-5.05 7.81-11.37 12.68-15.89 12.98-4.7.31-5.3-4.23-.94-10.53 11.52-16.64 14.82-34.03 7.92-61.6-4.35-17.42-16.16-29.72-34.27-39.22-4-2.1-8.2-4-12.99-5.97-1.84-.75-3.7-1.49-6-2.38l-5.43-2.08c-8.03-3.12-20.02-.58-36.92 6.63-3.52 1.5-7.21 3.19-11.61 5.27l-13 6.22c-4.71 2.22-8.16 3.75-11.11 4.88a115.87 115.87 0 0 0-12.21 5.63c-1.58.83-7.86 4.18-9.37 4.96a56.55 56.55 0 0 1-7.9 3.54c-5.3 1.75-8.62.85-10.17-3.43-1.46-4.02.66-8.5 5.8-13.74 2.75-2.82 6.16-5.66 11.15-9.48.79-.6 6.43-4.85 7.94-6.02a66.96 66.96 0 0 0 6.23-5.28c6.74-6.74 6.1-6.16 7.61-6.51.87-.2 6.69.36 9.74.36 5.22 0 7.03-.32 8.74-1.35l1.31-.84c.62-.4 1.18-.72 1.84-1.07a41.07 41.07 0 0 1 6.96-2.72c6.64-2.04 8.22-4.84 9.28-13.47.93-7.53 1.5-10.47 3.4-15.24 1.99-4.95 5.04-7.26 9.34-7.51 3.17-.2 5.5.35 12.97 2.6a63.54 63.54 0 0 0 9.02 2.26c1.45.22 2.83.34 4.14.34 20.71 0 39.7-1.82 48.8-5.96 4.32-1.96 10.29-3.1 21.93-4.53l9.4-1.12c3.92-.48 7.11-.88 10.27-1.32 8.16-1.14 15.4-2.43 22.49-4.06 12.42-2.86 24.33-9.26 35.55-18.2a137.4 137.4 0 0 0 19.18-18.64 60.02 60.02 0 0 0 11.15-20.32c3.76-11.57 4.32-24.36.75-38.23A284.86 284.86 0 0 1 392.95 0zM506.7 0h1.26c-.5.66-.9 1.18-1.17 1.51-3.95 4.96-6.9 7.92-9.82 9.57A10.02 10.02 0 0 1 492 12.5c-2.38 0-4.24.67-6.71 2.21l-2.65 1.71c-4.38 2.8-8.01 4.08-13.64 4.08-5.6 0-9.99-1.26-16.08-4.05a202.63 202.63 0 0 1-2.3-1.06l-2.18-.98c-1.6-.7-2.92-1.17-4.17-1.48a13.42 13.42 0 0 0-3.27-.43c-2.3 0-4.3-.68-11-3.37l-1.56-.62c-5-1.97-8.1-2.82-10.52-2.66-2.93.2-4.42 2.03-4.42 6.15 0 20.76-5.21 50.42-12.15 57.35-7.58 7.59-26.55 23.7-34.06 29.06-13.16 9.4-31.17 20.2-44.11 25.06a106.87 106.87 0 0 1-13.32 4.03c-3.28.78-6.6 1.43-11.25 2.24-.53.1-8.8 1.5-11.5 1.99-4.86.87-9.3 1.74-14 2.76-20.62 4.48-25.07 5.01-38.11 5.01-2.49 0-2.9-.07-14.05-2-2.42-.42-4.31-.73-6.15-1-8.11-1.19-13.83-1.36-17.64-.2-4.54 1.4-5.93 4.65-3.7 10.52 2.02 5.28 4.84 8.61 8.84 10.74 3.26 1.74 6.75 2.6 13.82 3.71 9.42 1.48 10.94 1.75 15.5 2.92a78.2 78.2 0 0 1 18.62 7.37c8.3 4.58 14.58 11.5 19.98 20.89 2.73 4.73 9.46 19.33 10.54 21.19 3.4 5.85 6.26 6.63 10.89 2 4.95-4.94 10.35-8.37 21.13-14.06.47-.25 2.06-1.1 2.12-1.12 7.98-4.21 11.92-6.51 15.87-9.54 5.11-3.9 8.66-8.1 10.77-13.11 8.52-20.24 20.75-33.31 32.46-33.31l5.5.03c10.53.08 17.35.02 24.9-.31 13.66-.62 23.78-2.09 29.39-4.67 5.85-2.7 13.42-5.49 24.18-9.02 3.46-1.14 6.29-2.05 12.7-4.1 7.7-2.45 11.08-3.54 15.17-4.9a1059.43 1059.43 0 0 1 11.33-3.72c3.67-1.2 5.96-2 8.03-2.78a59.88 59.88 0 0 0 6.66-2.94c1.87-.98 3.76-2.1 5.86-3.5 3.48-2.33 6.15-3.13 12.04-4.13l1.15-.2c5.71-1.01 9-2.3 12.76-5.63 7.82-6.96 8.58-23.18 3.84-44.52-1.7-7.67-2.1-19.28-1.57-35.47A837.22 837.22 0 0 1 546.76 0h1l-.15 3.06c-.32 6.42-.53 11.02-.68 15.62-.51 16.1-.12 27.65 1.56 35.21 4.82 21.68 4.04 38.2-4.16 45.48-3.91 3.48-7.37 4.84-13.24 5.87l-1.16.2c-5.76.99-8.32 1.75-11.65 3.98a63.73 63.73 0 0 1-5.96 3.56 60.86 60.86 0 0 1-6.77 2.99c-2.09.79-4.39 1.58-8.07 2.79a5398.31 5398.31 0 0 1-11.32 3.71c-4.1 1.37-7.48 2.46-15.18 4.92-6.42 2.04-9.24 2.95-12.7 4.08-10.73 3.53-18.27 6.3-24.07 8.98-5.76 2.66-15.97 4.14-29.77 4.77-7.56.33-14.4.39-24.95.31l-5.49-.03c-11.19 0-23.16 12.79-31.54 32.7-2.19 5.19-5.84 9.52-11.08 13.52-4.02 3.07-7.99 5.39-16.01 9.62l-2.12 1.12c-10.7 5.65-16.04 9.04-20.9 13.9-5.14 5.14-8.75 4.15-12.45-2.22-1.12-1.92-7.85-16.5-10.54-21.2-5.33-9.24-11.48-16.02-19.6-20.5a77.2 77.2 0 0 0-18.4-7.28c-4.5-1.17-6.02-1.43-15.4-2.9-7.17-1.12-10.74-2-14.13-3.81-4.22-2.25-7.2-5.77-9.3-11.27-2.43-6.39-.78-10.26 4.34-11.83 4-1.22 9.82-1.05 18.08.17 1.84.27 3.74.58 6.17 1 11.02 1.9 11.48 1.98 13.88 1.98 12.96 0 17.35-.52 37.9-4.99 4.71-1.02 9.16-1.9 14.03-2.77 2.71-.48 10.98-1.9 11.5-1.98 4.64-.81 7.95-1.46 11.2-2.23 4.55-1.07 8.76-2.34 13.2-4 12.83-4.81 30.79-15.59 43.88-24.94 7.47-5.33 26.4-21.4 33.94-28.94C407.3 61.98 412.5 32.49 412.5 12c0-4.61 1.86-6.9 5.35-7.15 2.63-.18 5.8.7 10.96 2.73l1.56.62c6.53 2.62 8.53 3.3 10.63 3.3 1.14 0 2.3.16 3.5.46 1.32.33 2.68.82 4.34 1.53a90.97 90.97 0 0 1 3.34 1.52l1.15.54c5.98 2.73 10.23 3.95 15.67 3.95 5.41 0 8.87-1.21 13.1-3.92.2-.13 2.1-1.38 2.66-1.72 2.62-1.63 4.64-2.36 7.24-2.36 1.47 0 2.94-.43 4.47-1.3 2.78-1.56 5.67-4.45 9.54-9.31l.7-.89zM324.54 600h-2.03c.49-2.96.91-6.2 1.28-9.66.44-4.1.76-8.25.98-12.21.08-1.39.14-2.65-.35-7.29-.47-1.94-.93-4.14-1.36-6.54-2.01-11.26-2.66-22.9-1.14-33.78a60.76 60.76 0 0 1 5.18-17.95 70.78 70.78 0 0 1 12.6-18.22c3.38-3.6 5.53-5.5 11.83-10.79 4.5-3.78 6.35-5.56 7.52-7.5.64-1.07.95-2.06.95-3.06 0-1.75 0-1.74-.75-9.23-.36-3.7-.57-6.3-.68-8.96-.5-12.1 1.62-19.6 8.11-21.76 15.9-5.3 25.89-12.1 33.45-25.54C409.6 390.65 425.85 376 436 376c12.36 0 20-1.96 29.41-8.8 6.76-4.92 9.5-6.6 12.47-7.46 2.22-.64 3.8-.74 9.12-.74 1.86 0 3.53-.83 5.57-2.62 1.08-.96 5.11-5.12 5.6-5.6 6.04-5.85 11.98-8.78 20.83-8.78 2.45 0 4.54.04 7.32.12 7.51.23 8.87.17 11.27-.7 3.03-1.1 5.53-3.03 14.75-11.17 8-7.06 10.72-8.92 22.87-16.47 1.44-.9 2.59-1.63 3.69-2.37a69.45 69.45 0 0 0 9.46-7.5c4.12-3.88 8.02-7.85 11.64-11.9v2.98a201.58 201.58 0 0 1-10.27 10.38c-3.18 3-6.2 5.35-9.72 7.7-1.12.76-2.28 1.5-3.75 2.4-12.05 7.5-14.71 9.32-22.6 16.28-9.46 8.35-12.01 10.32-15.39 11.55-2.74 1-4.19 1.06-12.01.82-2.76-.08-4.83-.12-7.26-.12-8.27 0-13.75 2.7-19.43 8.22-.44.43-4.52 4.64-5.68 5.66-2.37 2.09-4.46 3.12-6.89 3.12-5.1 0-6.6.1-8.56.66-2.67.78-5.29 2.37-11.85 7.15-9.8 7.13-17.85 9.19-30.59 9.19-9.22 0-24.96 14.2-34.13 30.49-7.84 13.94-18.24 21.02-34.55 26.46-5.31 1.77-7.21 8.51-6.75 19.78.1 2.6.31 5.19.68 8.84.75 7.62.75 7.58.75 9.43 0 1.38-.42 2.73-1.24 4.09-1.33 2.2-3.26 4.07-7.94 8-6.25 5.24-8.36 7.12-11.67 10.63a68.8 68.8 0 0 0-12.25 17.71 58.8 58.8 0 0 0-5 17.36c-1.49 10.66-.85 22.09 1.13 33.15.43 2.37.88 4.53 1.33 6.44.16.66.3 1.25.6 4.06a249.3 249.3 0 0 1-1.17 16.12c-.37 3.37-.78 6.53-1.25 9.44zm-13.4 0h-1.05l.12-.28c3.07-7.16 4.29-11.83 4.29-18.72 0-3.57-.07-4.93-.76-15.65-.77-12.04-1-19.64-.55-28.3.58-11.5 2.4-22.1 5.81-32.16 1.3-3.8 2.8-7.5 4.55-11.1 3.46-7.14 6.83-12.39 10.42-16.6a59.02 59.02 0 0 1 4.35-4.56c.43-.4 3-2.8 3.67-3.45 5.72-5.6 7.51-11.52 7.51-29.18 0-18.84 2.9-23.77 15.82-28.24 1.09-.37 1.92-.67 2.77-.98a51.3 51.3 0 0 0 6.1-2.7c4.95-2.6 9.64-6.22 14.44-11.42 25.5-27.63 37.15-35.16 56.37-35.16 8.28 0 14.54-1.95 22-6.3 1.78-1.03 13.82-8.82 18.16-11.27 2.83-1.59 5.66-3.03 8.63-4.39 7.92-3.6 13.97-4.45 26.6-4.8 7.53-.2 10.7-.49 14.26-1.58 4.55-1.4 8.06-4 10.93-8.43 2.2-3.41 6.85-7.08 14.66-12.06 1.61-1.03 3.27-2.05 5.65-3.5 9.53-5.85 11.56-7.13 14.81-9.57 5.34-4 9.3-8.37 13.68-14.77a204.2 204.2 0 0 0 5.62-8.75v1.9c-1.97 3.17-3.4 5.38-4.8 7.42-4.42 6.48-8.46 10.92-13.9 15-3.29 2.46-5.32 3.75-14.89 9.61a375.06 375.06 0 0 0-5.63 3.5c-7.7 4.9-12.26 8.52-14.36 11.76-3 4.63-6.7 7.39-11.48 8.85-3.68 1.12-6.9 1.42-14.53 1.63-12.5.34-18.44 1.18-26.2 4.7a111.08 111.08 0 0 0-8.56 4.35c-4.3 2.43-16.34 10.22-18.15 11.27-7.6 4.43-14.03 6.43-22.5 6.43-18.87 0-30.3 7.4-55.63 34.84-4.88 5.28-9.67 8.97-14.7 11.62-2 1.05-4 1.92-6.23 2.75-.86.32-1.7.62-5.37 1.87-5.08 1.76-7.44 3.25-9.28 6.37-2.23 3.78-3.29 9.94-3.29 20.05 0 17.9-1.87 24.07-7.8 29.89-.69.67-3.27 3.06-3.69 3.46a58.04 58.04 0 0 0-4.28 4.49c-3.53 4.14-6.86 9.32-10.28 16.38a95.19 95.19 0 0 0-4.5 10.99c-3.38 9.97-5.18 20.48-5.76 31.9-.44 8.6-.22 16.17.55 28.17.69 10.76.76 12.12.76 15.72 0 6.35-1.02 10.87-4.35 19zm25.08 0h-1c-.04-4.73.06-9.39.28-15.02.26-6.41-.4-11.79-2.53-24.37l-.31-1.86c-2.12-12.55-2.76-19.35-1.97-26.47 1.03-9.25 4.75-16.68 12-22.67 22.04-18.2 29.81-30.18 29.81-44.61 0-2.6-.3-4.81-.98-8.17-.97-4.79-1.1-5.68-.97-7.57.2-2.56 1.27-4.7 3.56-6.72 2.67-2.35 7.05-4.6 13.72-7.01 9.72-3.5 15.52-9.18 24.3-21.57l1.78-2.5c4.48-6.33 7.1-9.63 10.43-12.78 4.31-4.07 8.98-6.77 14.54-8.17 13.3-3.32 20.37-5.47 25.34-7.64a49.5 49.5 0 0 0 5.28-2.7c1.1-.65 1.75-1.04 4.24-2.6 2.7-1.68 5.22-2.08 11.38-2.28 5.44-.18 7.9-.43 10.97-1.41a21.47 21.47 0 0 0 9.54-6.22c4.87-5.3 10.03-7.61 17.79-8.9 1.07-.18 1.88-.3 3.86-.58 6.9-.97 9.94-1.69 13.48-3.62 4.5-2.45 6.79-4.44 23.46-19.68l3.14-2.85c9.65-8.71 16.12-13.83 21.42-16.48 4.25-2.12 7.6-4.69 11.22-8.6v1.45c-3.42 3.57-6.69 6-10.78 8.05-5.18 2.59-11.61 7.67-21.2 16.32l-3.12 2.85c-16.8 15.35-19.05 17.3-23.66 19.82-3.68 2-6.8 2.75-13.82 3.73-1.97.28-2.78.4-3.84.57-7.56 1.26-12.52 3.48-17.21 8.6a22.47 22.47 0 0 1-9.97 6.5c-3.2 1-5.72 1.27-11.25 1.45-5.98.2-8.39.57-10.89 2.13a144 144 0 0 1-4.25 2.61 50.48 50.48 0 0 1-5.39 2.75c-5.04 2.2-12.15 4.37-25.5 7.7-9.74 2.44-15.26 7.65-24.4 20.56l-1.77 2.5c-8.9 12.54-14.82 18.34-24.78 21.93-6.57 2.36-10.85 4.57-13.4 6.82-2.1 1.86-3.05 3.74-3.22 6.04-.13 1.76 0 2.63.95 7.3.7 3.42 1 5.7 1 8.37 0 14.79-7.93 27-30.18 45.39-7.03 5.8-10.64 13-11.64 22-.78 7-.14 13.73 1.96 26.2l.32 1.85c2.15 12.65 2.8 18.07 2.54 24.58-.22 5.57-.32 10.2-.28 14.98zM95.9 600h-2.04c.68-3.82 1.14-8.8 1.61-15.98.2-3.11.27-4.06.39-5.6 1.3-17.54 4.04-27.14 11.5-33.2 4.65-3.77 7.22-8.92 8.67-16 .51-2.52.7-3.87 1.33-9.17.66-5.5 1.16-8.06 2.24-10.36 1.45-3.09 3.82-4.69 7.39-4.69 14.28 0 38.48 9.12 53.6 20.2 8.66 6.35 21.26 13.32 31.74 17.11 13.03 4.71 21.89 4.41 24.75-1.73 1.7-3.64 1.92-4.11 2.65-5.77 2.93-6.67 4.69-12.2 5.25-17.5.23-2.17.24-4.23.02-6.2-.32-2.75-1.42-4.55-4.08-7.35l-1.32-1.37a30.59 30.59 0 0 1-2.41-2.79 30.37 30.37 0 0 1-2.5-4.07l-1.13-2.14c-1.62-3.1-2.68-4.6-4.12-5.56-5.26-3.5-14.8-5.5-28.55-6.83a272.42 272.42 0 0 0-9.04-.71l-2.18-.17c-9.57-.73-15.12-1.56-19.06-3.2C156.57 471.07 136 450.5 136 440c0-5.34 1.74-9.53 5.47-14.13 1.98-2.44 11.12-11.71 12.79-13.54 4.52-4.97 10.16-9.54 17.68-14.66 2.8-1.9 14.78-9.6 17.49-11.49a50.54 50.54 0 0 0 6.34-5.43c1.53-1.5 6.96-7.13 7.12-7.3 7.18-7.3 12.7-11.56 19.74-14.38 3.36-1.34 8.13-2.79 17.45-5.38a9577.18 9577.18 0 0 1 11.78-3.28 602.6 602.6 0 0 0 12.67-3.7c20.4-6.24 34-12.08 40.79-18.44 8.74-8.2 11.78-13.84 15.73-26.02 2.02-6.22 3.09-9.04 5.07-12.72 9.54-17.71 28.71-39.37 43.5-45.45C383.77 238.25 389 232.34 389 226c0-2.89 2.73-8.4 6.83-13.73 4.76-6.2 10.65-11.36 16.75-14.18 12.5-5.77 33.5-10.09 47.42-10.09 5.32 0 9.83-1.5 16.42-4.89 9.2-4.71 10.1-5.11 13.58-5.11 10.42 0 32.06-2.55 45.76-5.97l3.88-.98 3.47-.89c2.6-.66 4.33-1.08 5.93-1.43 3.9-.86 6.76-1.23 9.58-1.17 2.74.06 5.47.52 8.67 1.48 4.56 1.37 13.71-.9 22.87-5.68a68.07 68.07 0 0 0 9.84-6.2v2.4c-11.09 8.14-25.76 13.66-33.29 11.4a29.72 29.72 0 0 0-8.13-1.4c-2.63-.05-5.36.3-9.11 1.12a238 238 0 0 0-9.33 2.3l-3.9.99C522.38 177.43 500.58 180 490 180c-2.99 0-3.91.4-12.67 4.89-6.85 3.51-11.61 5.11-17.33 5.11-13.65 0-34.35 4.26-46.58 9.9-5.78 2.67-11.42 7.62-16 13.58-3.85 5.02-6.42 10.2-6.42 12.52 0 7.27-5.8 13.82-20.62 19.92-14.27 5.88-33.16 27.21-42.5 44.55-1.9 3.55-2.95 6.28-4.93 12.4-4.05 12.47-7.23 18.39-16.27 26.86-7.08 6.64-20.87 12.57-41.57 18.89a604.52 604.52 0 0 1-12.7 3.71 1495.1 1495.1 0 0 1-11.8 3.28c-9.24 2.58-13.97 4.01-17.24 5.32-6.73 2.69-12.05 6.8-19.05 13.92-.15.15-5.6 5.8-7.15 7.32a52.4 52.4 0 0 1-6.6 5.65c-2.74 1.92-14.75 9.63-17.5 11.5-7.4 5.04-12.94 9.52-17.33 14.35-1.72 1.9-10.8 11.11-12.71 13.46-3.47 4.26-5.03 8.03-5.03 12.87 0 9.5 20 29.5 33.38 35.08 3.67 1.53 9.1 2.34 18.45 3.05a586.23 586.23 0 0 0 4.34.32c3.24.23 5.07.37 6.93.55 14.08 1.37 23.82 3.4 29.45 7.17 1.82 1.2 3.02 2.91 4.8 6.29l1.11 2.13a28.55 28.55 0 0 0 2.34 3.81c.62.83 1.3 1.6 2.26 2.61.23.24 1.1 1.16 1.32 1.37 2.93 3.09 4.24 5.23 4.61 8.5.24 2.12.23 4.33-.01 6.64-.59 5.55-2.4 11.25-5.41 18.1-.74 1.67-.96 2.15-2.66 5.8-3.49 7.47-13.33 7.8-27.25 2.77-10.67-3.86-23.43-10.92-32.25-17.38C164.62 515.96 140.82 507 127 507c-5 0-6.4 3.02-7.64 13.29a99.03 99.03 0 0 1-1.36 9.33c-1.53 7.5-4.3 13.04-9.37 17.16-6.87 5.58-9.5 14.78-10.77 31.8-.11 1.52-.18 2.47-.38 5.57-.46 7.01-.91 11.99-1.57 15.85zm8.05 0h-1.02c.29-1.41.58-2.94.9-4.59l1.05-5.62c2.5-13.3 4.2-19.92 6.68-24.05 1.7-2.84 3.68-5.5 8.05-11.03 8.21-10.36 10.88-14.55 10.88-18.71l-.02-1.69c-.02-1.78-.02-2.7.02-3.77.21-5.05 1.47-8.2 4.64-9.4 3.92-1.5 10.39.44 20.12 6.43 9.56 5.88 17.53 10.7 25.91 15.66 1.31.78 14.27 8.41 17.67 10.45a714.21 714.21 0 0 1 6.42 3.9c13.82 8.5 38.94 5.05 46.3-7.83 3.6-6.28 4.54-8.52 7.78-17.32a82.3 82.3 0 0 1 1.18-3.07 42.27 42.27 0 0 1 4.06-7.64c9.33-13.98 14.92-26.1 14.92-36.72 0-3.66.75-6.62 3.36-14.85.52-1.64.83-2.66 1.15-3.73 3.64-12.23 3.04-19.12-4.29-24a23.1 23.1 0 0 0-9.98-3.78c-7.2-.93-14.49 1.17-23.91 5.88-1.55.78-6.64 3.44-7.6 3.93a62.6 62.6 0 0 0-4.14 2.3l-4.4 2.66c-11.62 6.92-20.4 9.18-32.81 6.08-3.32-.84-6.24-1.4-13.1-2.64-13.25-2.39-18.7-3.75-23.33-6.46-6.23-3.67-7.46-9.02-2.88-16.65A93.1 93.1 0 0 1 172 415.42a157 157 0 0 1 8.32-7.66c-.07.05 6.16-5.3 7.82-6.77a85.12 85.12 0 0 0 6.5-6.33c7.7-8.46 12.78-13.36 20.08-18.57 9.94-7.1 21.4-12.36 35.18-15.58 37.03-8.64 51-12.7 58.83-17.93 8.6-5.73 21.3-24.77 36.84-54.81 5.22-10.1 12.27-18.4 21.13-25.71 5.13-4.24 9.56-7.25 17.55-12.23 7.42-4.62 9.62-6.14 11.38-8.16a21.15 21.15 0 0 0 2.95-4.87c.61-1.3 2.87-6.47 3-6.77 1.36-3 2.56-5.4 3.95-7.73 6.53-10.97 16.03-18 31.4-20.8 12.73-2.3 19.85-2.7 29.68-2.3 3.25.13 4.13.16 5.6.14 5.15-.07 9.71-1.04 16.61-3.8 20.74-8.3 38.75-12.04 59.19-12.04 3.05 0 6.03.15 10.48.48l2.09.16c12.45.96 18.08.96 25.34-.63a49.65 49.65 0 0 0 14.09-5.45v1.15a50.52 50.52 0 0 1-13.88 5.28c-7.38 1.61-13.08 1.61-25.63.65l-2.08-.16c-4.43-.33-7.39-.48-10.41-.48-20.3 0-38.2 3.72-58.81 11.96-7.01 2.8-11.7 3.8-16.97 3.88-1.5.02-2.39-.01-5.66-.14-9.76-.4-16.8-.01-29.47 2.3-15.06 2.73-24.32 9.58-30.71 20.31a72.8 72.8 0 0 0-3.9 7.63c-.12.28-2.39 5.47-3.01 6.79a22 22 0 0 1-3.1 5.1c-1.86 2.13-4.07 3.66-11.6 8.35-7.95 4.96-12.35 7.95-17.44 12.15-8.76 7.23-15.73 15.43-20.89 25.4-15.61 30.2-28.36 49.32-37.16 55.19-7.98 5.32-21.97 9.39-59.17 18.07-13.65 3.18-24.98 8.39-34.82 15.42-7.22 5.16-12.27 10.01-19.92 18.43a86.07 86.07 0 0 1-6.57 6.4c-1.67 1.48-7.91 6.83-7.84 6.77-3.27 2.84-5.8 5.16-8.26 7.62a92.1 92.1 0 0 0-14.27 18.13c-4.3 7.16-3.22 11.89 2.53 15.26 4.47 2.63 9.88 3.99 23.24 6.39a185.7 185.7 0 0 1 12.92 2.6c12.11 3.03 20.64.84 32.06-5.96l4.4-2.65c1.66-1 2.96-1.73 4.2-2.35.95-.48 6.04-3.14 7.6-3.92 9.59-4.8 17.04-6.94 24.49-5.98a24.1 24.1 0 0 1 10.4 3.93c7.82 5.21 8.45 12.52 4.7 25.13-.32 1.07-.64 2.1-1.16 3.74-2.57 8.12-3.31 11.04-3.31 14.55 0 10.88-5.66 23.14-15.08 37.28a41.28 41.28 0 0 0-3.97 7.46c-.37.9-.73 1.82-1.18 3.04-3.25 8.85-4.21 11.13-7.84 17.47-7.67 13.42-33.43 16.95-47.7 8.18a578.4 578.4 0 0 0-6.4-3.89c-3.4-2.04-16.36-9.67-17.67-10.45-8.38-4.97-16.36-9.78-25.92-15.66-9.5-5.85-15.7-7.7-19.24-6.36-2.68 1.02-3.8 3.82-4 8.51a61.12 61.12 0 0 0-.02 3.72l.02 1.7c0 4.5-2.69 8.73-11.52 19.87-3.92 4.95-5.87 7.59-7.55 10.39-2.39 3.97-4.08 10.56-6.56 23.72l-1.05 5.62-.86 4.4zm10.5 0h-1c.03-.34.04-.68.04-1 0-12.39 8.48-33.57 19.16-43.37a26.18 26.18 0 0 0 3.67-4.17 35.8 35.8 0 0 0 2.88-4.9c.36-.72 1.75-3.66 2.1-4.36 3.22-6.29 6.84-6.54 16.97.39 1.34.9 6.07 4.16 6.4 4.38 2.62 1.8 4.67 3.2 6.7 4.56 5.03 3.39 9.37 6.2 13.51 8.7 14.33 8.67 25.49 13.27 34.11 13.27 16.86 0 32.71-5.95 39.6-14.8 1.59-2.04 3.2-5.17 5.06-9.63.8-1.92 1.64-4.06 2.67-6.8l2.74-7.33c4.66-12.44 7.76-19.06 11.56-23.27 7.9-8.79 14.87-36 14.87-52.67 0-1.9.17-3.11 1.02-8.27.37-2.2.58-3.6.74-5.07.63-5.51.21-9.46-1.68-12.39-4.6-7.1-19.7-9.23-38.46-4.78a100.57 100.57 0 0 0-18.94 6.3c-5.17 2.37-17.11 9.74-16.5 9.4-6.72 3.64-12.97 4.15-24.8 1.3-29.55-7.14-30.43-8.62-15.26-26.81 17.44-20.93 47.12-46.18 56.38-46.18 9.92 0 53.84-11.98 65.78-17.95 9.46-4.73 24.32-21.18 36.82-37.85.71-.95 13.5-21.6 19.2-29.6 9.35-13.13 18.22-22.55 26.95-27.53 7.29-4.17 13.16-10.28 18.8-18.73 1.93-2.9 10.52-17.65 12.73-20.41 1.54-1.93 3-3.21 4.52-3.89 14.07-6.25 24.22-9.04 39.2-9.04h29c4.05 0 7.36-.4 22.93-2.5l4.3-.57c9.92-1.3 16.57-1.93 21.77-1.93 1.66 0 2.95.01 6.03.04 18.61.19 28.55-.48 44.86-4.03 3.1-.67 6.13-1.78 9.11-3.31v1.12a37.96 37.96 0 0 1-8.9 3.17c-16.4 3.56-26.4 4.24-45.08 4.05-3.08-.03-4.36-.04-6.02-.04-5.15 0-11.76.63-21.64 1.92l-4.3.58c-15.64 2.11-18.94 2.5-23.06 2.5h-29c-14.81 0-24.84 2.75-38.8 8.96-1.34.6-2.69 1.78-4.14 3.6-2.16 2.68-10.72 17.39-12.68 20.33-5.72 8.57-11.7 14.8-19.13 19.04-8.57 4.9-17.36 14.23-26.63 27.24-5.68 7.97-18.47 28.64-19.22 29.63-12.6 16.8-27.52 33.32-37.18 38.15-12.06 6.03-56.14 18.05-66.22 18.05-8.82 0-38.39 25.15-55.62 45.82-14.6 17.52-14.19 18.21 14.74 25.2 11.6 2.8 17.6 2.3 24.09-1.2-.67.35 11.31-7.03 16.56-9.44 5.41-2.48 11.6-4.59 19.11-6.37 19.13-4.53 34.65-2.35 39.54 5.22 2.05 3.17 2.48 7.32 1.84 13.04a96.34 96.34 0 0 1-.75 5.13c-.84 5.08-1.01 6.29-1.01 8.1 0 16.9-7.03 44.33-15.13 53.33-3.68 4.09-6.76 10.65-11.37 22.96-.35.93-2.2 5.94-2.73 7.33-1.04 2.76-1.88 4.9-2.68 6.84-1.9 4.53-3.55 7.73-5.2 9.85-7.1 9.13-23.25 15.19-40.39 15.19-8.86 0-20.15-4.65-34.63-13.42-4.15-2.51-8.5-5.32-13.55-8.72a861.54 861.54 0 0 1-6.71-4.56l-6.4-4.39c-9.68-6.63-12.61-6.42-15.5-.75-.35.68-1.74 3.62-2.1 4.35a36.77 36.77 0 0 1-2.96 5.03c-1.12 1.57-2.37 3-3.81 4.33-10.47 9.6-18.84 30.51-18.84 42.63l-.03 1zm-29.65 0h-1.1c1.17-2.52 1.79-5.2 1.79-8 0-20 4.83-42.04 12.15-49.35 5.17-5.18 7.77-8.38 9.9-12.74 2.64-5.41 3.95-12 3.95-20.91 0-6.82 1.14-11.59 3.37-15.07 1.74-2.7 3.6-4.21 8.91-7.52a31.64 31.64 0 0 0 3.9-2.79c4.61-3.96 6.58-6.2 7.72-9.41 1.43-4.02.93-9.04-1.86-16.02a68.98 68.98 0 0 0-3.99-8.07l-.93-1.7a75.47 75.47 0 0 1-2.64-5c-5.16-10.71-3.77-18.9 7.68-29.78a204 204 0 0 1 26.81-21.55c3.96-2.69 16.8-10.8 19.24-12.5 1.99-1.4 4.33-3.3 7.77-6.3-.02 0 7.23-6.39 9.47-8.3 4.97-4.26 9.09-7.5 13.05-10.15 4.72-3.15 8.97-5.28 12.87-6.32 12.78-3.41 15.6-4.18 21.77-5.97 12.55-3.64 21.96-6.9 28.14-10a45.47 45.47 0 0 1 7.47-2.79c8.66-2.66 12.02-4.1 16.97-8.1 6.78-5.46 13.07-14.25 19.33-27.87 15.97-34.77 19.08-39.39 32.15-49.19 3.14-2.36 6.37-4.1 11.43-6.4l2.33-1.04c11.93-5.35 16.87-8.93 21.1-17.38 1.88-3.77 2.48-6.29 3.37-12.27.78-5.19 1.48-7.56 3.53-10.25 2.57-3.4 7.03-6.27 14.36-9.01 3.37-1.26 7.36-2.5 12.05-3.73 16.33-4.3 25.28-5.36 39.6-5.81 6.9-.22 9.5-.56 12.66-2 1.19-.54 2.36-1.23 3.58-2.11 3.7-2.7 8.14-4.54 13.24-5.67 5.71-1.27 10.69-1.54 18.7-1.45l2.35.02c2.82 0 6.8-1 19.7-4.69 10.83-3.08 15.95-4.31 19.3-4.31.82 0 1.9.13 3.55.41l5.01.9c9.82 1.68 17.44 1.89 25.15-.21 7.98-2.18 14.8-6.77 20.29-14.24V147c-5.47 7.04-12.21 11.42-20.03 13.55-7.88 2.15-15.63 1.94-25.58.23l-5-.9c-1.6-.26-2.64-.39-3.39-.39-3.2 0-8.32 1.22-19.74 4.48-12.35 3.53-16.3 4.52-19.26 4.52l-2.36-.02c-7.94-.1-12.85.17-18.47 1.42-4.97 1.11-9.3 2.9-12.88 5.5a21.4 21.4 0 0 1-3.75 2.22c-3.32 1.5-6 1.87-13.04 2.09-14.25.44-23.13 1.5-39.37 5.77a125.56 125.56 0 0 0-11.95 3.7c-7.17 2.7-11.49 5.46-13.93 8.68-1.9 2.52-2.58 4.76-3.33 9.8-.9 6.08-1.53 8.68-3.47 12.56a30.6 30.6 0 0 1-9.66 11.45c-3.12 2.26-5.95 3.73-11.93 6.4l-2.31 1.04c-5.01 2.27-8.18 3.99-11.25 6.29-12.9 9.68-15.93 14.17-31.85 48.8-6.31 13.76-12.7 22.68-19.6 28.25-5.08 4.1-8.53 5.57-17.3 8.27a44.64 44.64 0 0 0-7.33 2.73c-6.24 3.12-15.7 6.4-28.3 10.06a867.4 867.4 0 0 1-21.8 5.97c-3.77 1.01-7.93 3.1-12.56 6.19a137.35 137.35 0 0 0-12.95 10.07c-2.24 1.92-9.48 8.3-9.48 8.3a98.2 98.2 0 0 1-7.84 6.37c-2.46 1.72-15.32 9.83-19.26 12.5a203 203 0 0 0-26.69 21.45c-11.13 10.58-12.43 18.3-7.47 28.63a74.52 74.52 0 0 0 2.62 4.95l.94 1.7a69.84 69.84 0 0 1 4.03 8.17c2.88 7.2 3.4 12.46 1.89 16.73-1.22 3.43-3.28 5.77-8.02 9.84-1.14.97-2.32 1.8-5.3 3.67-3.92 2.45-5.69 3.89-7.31 6.42-2.13 3.3-3.22 7.89-3.22 14.53 0 9.05-1.34 15.79-4.05 21.34-2.19 4.49-4.85 7.77-10.1 13.01-7.07 7.07-11.85 28.9-11.85 48.65 0 2.8-.58 5.48-1.7 8zm282.54 0h-1.01l-1.1-5.8c-3.08-16.26-4.05-26.2-2.74-37.26.7-5.8.77-9.68.55-15.3-.18-4.45-.17-5.68.19-7.63.78-4.3 3.44-8.53 10.39-16.34 9.07-10.2 12.26-15.41 19.8-30.15 1.35-2.64 2.33-4.47 3.38-6.3.9-1.58 1.82-3.06 2.77-4.5 3.14-4.7 7.03-8.42 16.84-16.81 11.22-9.6 15.5-13.86 18.13-19.13.7-1.4 1.3-2.8 1.93-4.4a206 206 0 0 0 1.49-4.05c3.63-9.94 8.01-13.93 22.9-17.81 4.99-1.3 20.55-5.13 21.38-5.34 16.19-4.1 25.33-7.36 33.48-12.6 5.86-3.77 5.84-3.76 27.66-16.53l2.6-1.52c10.23-6 17.1-10.2 22.73-13.95a149.3 149.3 0 0 0 8.8-6.3 723.7 723.7 0 0 0 6.37-5.08A87.74 87.74 0 0 1 600 342.95v1.12a85.76 85.76 0 0 0-15.49 9.9c.18-.14-4.76 3.84-6.38 5.1a150.3 150.3 0 0 1-8.85 6.35c-5.65 3.76-12.53 7.96-22.78 13.97l-2.6 1.53c-21.8 12.75-21.78 12.74-27.63 16.5-8.27 5.32-17.49 8.61-33.78 12.73-.83.21-16.39 4.04-21.36 5.33-8.03 2.1-13.15 4.5-16.45 7.5-2.66 2.42-4 4.86-5.77 9.7l-1.5 4.07a51.12 51.12 0 0 1-1.96 4.47c-2.72 5.45-7.04 9.75-18.38 19.45-9.73 8.32-13.6 12.02-16.65 16.6a77.18 77.18 0 0 0-2.74 4.45c-1.05 1.81-2.01 3.63-3.35 6.25-7.58 14.81-10.82 20.08-19.96 30.36-6.83 7.7-9.4 11.78-10.15 15.86-.34 1.85-.34 3.04-.17 7.4.22 5.68.14 9.6-.55 15.47-1.3 10.92-.34 20.79 2.73 36.95l1.12 5.99zm-76.59 0h-2.1l1.39-4.3c1.04-3.3 1.93-6.78 2.68-10.4 2.65-12.73 3.27-23.63 3.27-41.3 0-5.71-1.86-9.75-4.13-9.75-2.94 0-6.96 5.61-10.93 17.08C271.14 579.68 258.3 593 238 593c-22.42 0-29.26-1.35-48.42-10.09a87.69 87.69 0 0 1-9.42-5.04c-2.95-1.8-12.78-8.57-14.84-9.72-4.2-2.36-7-2.71-9.72-.99-.63.4-1.26.91-1.9 1.55a57.69 57.69 0 0 1-4.31 3.86 147.88 147.88 0 0 1-3.06 2.44l-1 .8C137.01 582.43 134 587.18 134 597c0 1.02-.02 2.01-.07 3h-2c.05-.99.07-1.98.07-3 0-10.52 3.33-15.78 12.09-22.76a265.61 265.61 0 0 1 2-1.6c.83-.64 1.43-1.13 2.03-1.61a55.76 55.76 0 0 0 4.17-3.74c.74-.73 1.48-1.34 2.24-1.82 3.47-2.2 7-1.75 11.77.93 2.15 1.21 12.03 8 14.9 9.76a85.7 85.7 0 0 0 9.22 4.93C209.29 589.7 215.85 591 238 591c19.25 0 31.49-12.7 41.06-40.33 4.24-12.25 8.66-18.42 12.81-18.42 3.8 0 6.13 5.06 6.13 11.75 0 17.8-.63 28.8-3.3 41.7-.77 3.7-1.68 7.23-2.75 10.6-.4 1.3-.8 2.53-1.19 3.7zm-149.25 0l.5-.94a160.1 160.1 0 0 0 6.53-13.26c2.73-6.29 5.78-9.64 9.24-10.52 3.74-.95 7.15.74 12.56 5.13 5.43 4.4 6.07 4.86 7.73 5.1 1.6.22 4.28 1.14 8.86 2.95 1.3.5 10.78 4.35 13.85 5.55 3.07 1.2 5.85 2.25 8.49 3.18 3.1 1.1 5.98 2.04 8.65 2.81h-3.45c-1.76-.56-3.6-1.18-5.54-1.87a281.2 281.2 0 0 1-8.51-3.19c-3.08-1.2-12.57-5.04-13.86-5.55-4.5-1.78-7.15-2.68-8.63-2.9-1.94-.27-2.53-.7-8.22-5.3-5.17-4.2-8.36-5.78-11.69-4.94-3.1.78-5.94 3.92-8.56 9.95a161 161 0 0 1-6.82 13.8h-1.13zm112.89 0a30.34 30.34 0 0 0 11.27-6.27c1.55-1.36 3.32-3.46 5.34-6.29 1.05-1.46 2.15-3.1 3.41-5.04a349.73 349.73 0 0 0 2.5-3.9l.47-.75.93-1.47a89.17 89.17 0 0 1 3.25-4.86c1.05-1.43 1.82-2.23 2.44-2.46 1.02-.37 1.49.48 1.49 2.04l.01 2.11c.05 6.91-.08 11.32-.7 16.33a48.4 48.4 0 0 1-2.38 10.56h-1.07a46.47 46.47 0 0 0 2.45-10.68c.62-4.96.75-9.33.7-16.2l-.01-2.12c0-.97-.08-1.12-.15-1.1-.36.14-1.05.85-1.97 2.1a88.44 88.44 0 0 0-3.22 4.82l-.92 1.46-.48.75a1268.1 1268.1 0 0 1-2.5 3.92c-1.26 1.95-2.38 3.6-3.44 5.08-2.06 2.88-3.87 5.04-5.5 6.45a30.87 30.87 0 0 1-8.94 5.52h-2.98zm-183.72 0H69.3c3.37-3.43 5.19-8.33 5.19-15 0-18.6-.04-17.35 1.02-20.77.6-1.93 1.5-3.74 3.27-6.63.42-.7 4.92-7.8 6.78-10.86 3.04-4.97 11.04-16.5 12.21-18.56 3.48-6.08 4.72-12.06 4.72-24.18 0-7.85 2.5-14.2 8.1-23.44l2.84-4.63a72.67 72.67 0 0 0 2.49-4.4c1.62-3.15 2.48-5.78 2.62-8.28.2-3.78-1.3-7.29-4.9-10.9-5.13-5.12-8.6-5.43-11.2-1.85-2.12 2.92-3.48 7.74-5.06 16.47-.2 1.03-.82 4.6-.82 4.57-.83 4.67-1.4 7.33-2.1 9.6-1.35 4.42-3.7 7.61-8.36 12.26l-3.26 3.2c-6.38 6.39-9.68 11.51-11.36 19.5l-1.16 5.52c-.87 4.1-1.56 7.04-2.33 9.94-3.67 13.74-9.65 25.97-22.59 44.72-7.68 11.14-11.05 18.87-10.92 23.72h-1c-.12-5.16 3.35-13.05 11.1-24.28 12.87-18.67 18.8-30.8 22.44-44.42.77-2.88 1.45-5.8 2.32-9.89l1.16-5.51c1.73-8.22 5.13-13.5 11.64-20 .63-.64 2.84-2.8 3.25-3.21 4.57-4.54 6.82-7.62 8.12-11.84a81.58 81.58 0 0 0 2.07-9.48l.81-4.57c1.62-8.9 3-13.8 5.24-16.89 3-4.15 7.2-3.78 12.71 1.74 3.8 3.8 5.42 7.58 5.2 11.66-.15 2.66-1.05 5.41-2.73 8.68a73.6 73.6 0 0 1-2.52 4.46l-2.84 4.63c-5.52 9.1-7.96 15.3-7.96 22.92 0 12.28-1.28 18.43-4.85 24.68-1.2 2.1-9.21 13.65-12.22 18.58-1.87 3.06-6.37 10.18-6.78 10.86-1.73 2.82-2.6 4.57-3.17 6.4-1.02 3.28-.98 2.1-.98 20.48 0 6.52-1.7 11.44-4.82 15zM310.09 0h1.06c-.37.9-.77 1.83-1.2 2.82-3.9 9.06-5.45 15.15-5.45 25.18 0 7.64-2.1 11.6-6.64 13.05-3.46 1.1-5.72.98-17.57-.43-11.55-1.36-19.17-1.58-28.16-.14-6.24 2.49-25.91 7.02-32.13 7.02-11.15 0-36.76-2.88-54.12-7.01a22.08 22.08 0 0 0-16.95 2.48c-4.05 2.33-7.09 5.03-13.9 11.97-6.28 6.39-9.53 9.23-13.8 11.5-7.09 3.79-11.22 7.65-13.4 12.27-1.82 3.85-2.33 7.84-2.33 15.29 0 4.4-2.65 6.69-9.45 9.74.1-.05-2.97 1.31-3.84 1.71-8.78 4.06-12.71 8.29-12.71 16.55 0 12.52-4.86 19.22-17.34 27.96l-4.56 3.14c-1.9 1.3-3.3 2.3-4.67 3.3-.92.68-1.79 1.34-2.62 2-7.16 5.62-11 14.54-15.56 33.28-.63 2.57-3.3 14-4.07 17.14a350.44 350.44 0 0 1-5.2 19.33c-1.37 4.5-4.5 15.07-4.96 16.53-1.05 3.4-1.64 4.94-2.46 6.32-.82 1.4-6.85 9.08-12.64 18.27L0 277.98v-1.9l4.58-7.35a270.8 270.8 0 0 1 12.61-18.23c-.3.5 1.35-2.8 2.38-6.12.45-1.44 3.58-12.01 4.95-16.53 1.83-6.03 3.44-12.09 5.19-19.27.76-3.13 3.44-14.56 4.06-17.14 4.62-18.95 8.52-28.02 15.92-33.83.84-.67 1.72-1.33 2.65-2.01 1.38-1.02 2.8-2.01 4.7-3.32l4.54-3.14C73.83 140.57 78.5 134.13 78.5 122c0-8.74 4.2-13.26 13.29-17.45.88-.41 3.96-1.77 3.85-1.73 6.46-2.9 8.86-4.97 8.86-8.82 0-7.6.53-11.7 2.42-15.71 2.29-4.84 6.57-8.85 13.84-12.73 4.15-2.21 7.35-5 14.15-11.93 6.28-6.4 9.36-9.13 13.52-11.53a23.07 23.07 0 0 1 17.69-2.59c17.27 4.12 42.8 6.99 53.88 6.99 6.1 0 25.73-4.53 31.92-7 9.12-1.46 16.83-1.25 28.49.13 11.63 1.38 13.9 1.5 17.15.47 4.06-1.3 5.94-4.85 5.94-12.1 0-10.1 1.56-16.3 6.6-28zm25.12 0h1c.05 5.62.26 11.48.65 19.4.47 9.7.64 14.57.64 21.6 0 9.81-4.68 17.46-13.1 23.16-6.53 4.43-14.94 7.46-24.33 9.33-3.74.54-9.42.56-22.68.23-6.74-.17-9.35-.22-12.39-.22-2.77 0-4.97.43-7.63 1.36-.88.3-4.55 1.74-5.58 2.11-6.55 2.35-13.59 3.53-24.79 3.53-8.1 0-13.58-1.38-22.46-4.9l-3.18-1.25c-12.55-4.87-21.27-5.15-37.18 1.12-11.15 4.39-18.13 9.2-22.28 14.81-3.15 4.26-4.33 7.8-5.94 15.8-1.22 6.09-1.93 8.74-3.5 12.13-1.65 3.53-3.97 5.81-7.07 7.22-2.33 1.07-4.35 1.5-9.32 2.19-9.04 1.27-12.77 3.09-15.61 9.58-3.71 8.48-7.72 13.87-14.22 19.76-2.4 2.18-13.14 11.02-15.91 13.42-8.2 7.1-13.85 17.37-18.7 31.97a258.81 258.81 0 0 0-3.27 10.7c-.01.05-2.26 7.97-2.88 10.1-8.49 28.85-17.88 52.95-26.13 61.2-2.8 2.8-5.06 5.64-10.4 12.96-3.4 4.68-6.23 8.25-8.95 11.1v-1.55c2.74-2.98 5.73-6.82 9.48-11.97 4.03-5.52 6.32-8.4 9.17-11.24 8.07-8.08 17.44-32.14 25.87-60.8.62-2.1 2.86-10.03 2.88-10.08 1.21-4.24 2.21-7.53 3.28-10.74 4.9-14.75 10.63-25.16 19-32.4 2.78-2.42 13.5-11.25 15.89-13.4 6.4-5.8 10.32-11.09 13.97-19.43 1.68-3.83 4.05-6.31 7.2-7.86 2.4-1.17 4.64-1.67 9.53-2.36 4.54-.63 6.5-1.05 8.7-2.06 2.89-1.31 5.03-3.42 6.58-6.73 1.53-3.3 2.23-5.9 3.43-11.9 1.64-8.14 2.85-11.79 6.11-16.2 4.28-5.79 11.41-10.7 22.73-15.16 16.15-6.36 25.13-6.07 37.9-1.11l3.19 1.26c8.77 3.47 14.13 4.82 22.09 4.82 11.09 0 18.02-1.16 24.46-3.47 1-.36 4.68-1.8 5.58-2.11A22.5 22.5 0 0 1 265 72.5c3.05 0 5.67.05 14.07.26 11.53.29 17.2.27 20.83-.25 9.25-1.85 17.54-4.83 23.94-9.17C332 57.8 336.5 50.46 336.5 41c0-7-.17-11.86-.7-22.7-.35-7.26-.55-12.83-.59-18.3zM93.87 0h2.04c-.7 4-1.61 6.82-3.03 9.47-2.33 4.38-2.85 5.75-5.26 13.03a40.46 40.46 0 0 1-1.94 5.03c-2.24 4.66-5.92 8.8-13.07 14.26-8.01 6.13-14.27 16.55-20.03 31.55-2.4 6.23-8.75 25.63-9.64 28.01-2.69 7.16-6.56 12.7-15.63 23.68l-2.68 3.24c-6.02 7.34-9.35 12.07-11.72 17.15-2.3 4.94-7.12 9.9-12.91 14.15v-2.4c5.14-3.94 9.1-8.3 11.1-12.6 2.46-5.27 5.87-10.1 11.98-17.56l2.68-3.26c8.94-10.8 12.72-16.22 15.3-23.1.88-2.33 7.24-21.74 9.65-28.03 5.89-15.31 12.3-26 20.68-32.41 6.92-5.3 10.4-9.2 12.48-13.55.65-1.35 1.16-2.7 1.85-4.79 2.45-7.4 3-8.83 5.4-13.34A27.68 27.68 0 0 0 93.87 0zm9.07 0h1.02c-1.66 8.3-2.91 12.67-4.54 15.26a59.14 59.14 0 0 0-4.1 8.21c-1.27 3-2.44 6.2-3.5 9.4-.38 1.12-.7 2.16-2.41 5.39a251.48 251.48 0 0 0-12.81 13.3c-3.48 3.96-5.95 7.27-7.15 9.66-.95 1.9-2.06 5.99-3.61 12.97-.64 2.9-3.65 17.15-4.51 21.07-3.63 16.45-6.63 26.69-9.9 32-7.66 12.45-10.64 15.71-37.08 41.1A69.78 69.78 0 0 1 0 179.21v-1.15a69.39 69.39 0 0 0 13.65-10.42c26.4-25.33 29.32-28.55 36.92-40.9 3.2-5.18 6.18-15.37 9.78-31.7.86-3.91 3.87-18.16 4.51-21.06 1.57-7.09 2.7-11.2 3.7-13.2 1.24-2.5 3.76-5.86 7.29-9.89.9-1.03 1.86-2.1 2.86-3.18 2.4-2.6 4.96-5.22 7.53-7.76.9-.88 1.73-1.7 3.37-3.4a129.02 129.02 0 0 1 4.78-13.46 60.07 60.07 0 0 1 4.19-8.35c1.52-2.44 2.74-6.71 4.36-14.74zM83.71 0h1.1c-2.09 4.74-6.03 8.92-11.42 12.3-7.2 4.52-16.5 7.2-24.39 7.2-8.9 0-11.8 7-11.74 21.52 0 1.7.04 3.17.12 5.99.1 3.3.12 4.45.12 5.99 0 5.73-.76 11.3-2.01 16.5a66.67 66.67 0 0 1-2.15 6.97 2597.76 2597.76 0 0 1-7 15.86A4270.8 4270.8 0 0 1 6.44 136.2 54.64 54.64 0 0 1 0 147v-1.65a54.87 54.87 0 0 0 5.55-9.57A4269.82 4269.82 0 0 0 30.7 79.97c.53-1.2.99-2.23 2.44-5.9A69.23 69.23 0 0 0 36.5 53c0-1.52-.03-2.66-.12-5.95-.08-2.83-.12-4.31-.12-6.01-.03-6.79.53-11.62 2.07-15.34 1.94-4.68 5.39-7.19 10.67-7.19 7.7 0 16.81-2.63 23.86-7.05C77.93 8.27 81.66 4.38 83.7 0zm282.63 0h1.01c1.86 10.02 2.18 12.67 2.32 18.3a123.43 123.43 0 0 1 .37 27.83c-.96 8.78-3.1 16.01-6.63 21.15-11.34 16.5-39.8 29.22-66.41 29.22-5.09 0-10.47.28-16.31.83a413.8 413.8 0 0 0-24.37 3.16c-21.56 3.26-27.66 4.01-36.32 4.01-6.92 0-12.2-1.05-21.69-3.9l-2.78-.83c-1.39-.41-2.54-.74-3.65-1.02-8-2.05-14.22-2.04-21.7.72a16.32 16.32 0 0 0-9.17 8.18c-1.6 3.05-2.5 6.06-4.02 12.83-1.5 6.64-2.34 9.52-3.99 12.64a16.16 16.16 0 0 1-9.85 8.36 104.8 104.8 0 0 0-9.5 3.42c-6.55 2.8-10.1 5.57-13.8 10.47-1.33 1.75-1.03 1.3-5.43 7.9-1.98 2.97-4.66 5.8-8.48 9.14-2.01 1.76-10.71 8.83-12.88 10.7-7.37 6.35-12.58 12.14-16.63 19.14-4.22 7.3-7.8 18.3-11.28 33.26-.87 3.73-1.72 7.64-2.64 12.14l-1.18 5.8-1.09 5.45c-1.8 8.96-2.77 13.28-3.77 16.26-6.8 20.44-17.26 42.16-27.13 51.2-5.11 4.7-8.1 7.07-11.1 8.86-.9.54-1.84 1.04-2.92 1.57-.44.22-9.6 4.4-14.1 6.66l-1.22.62v-1.13l.78-.39c4.52-2.26 13.67-6.44 14.1-6.65a41.19 41.19 0 0 0 2.84-1.54c2.94-1.75 5.88-4.09 10.94-8.73 9.71-8.9 20.1-30.51 26.87-50.79.97-2.92 1.94-7.22 3.73-16.13l1.1-5.46a490.5 490.5 0 0 1 3.82-17.96c3.5-15.06 7.1-26.14 11.39-33.54 4.11-7.11 9.4-12.98 16.83-19.4 2.19-1.88 10.88-8.95 12.88-10.7 3.77-3.28 6.39-6.05 8.3-8.93 4.43-6.64 4.12-6.18 5.47-7.96 3.8-5.03 7.5-7.91 14.21-10.78 2.61-1.12 5.74-2.24 9.59-3.46a15.17 15.17 0 0 0 9.27-7.86c1.59-3.02 2.42-5.85 4.03-12.99 1.41-6.27 2.32-9.33 3.98-12.48a17.31 17.31 0 0 1 9.7-8.66c7.7-2.83 14.1-2.84 22.3-.75 1.12.29 2.28.61 3.68 1.03l3.73 1.11c8.47 2.54 13.66 3.58 20.46 3.58 8.59 0 14.67-.75 36.18-4a414.64 414.64 0 0 1 24.41-3.17c5.88-.54 11.29-.83 16.41-.83 26.3 0 54.45-12.58 65.59-28.78 3.42-4.98 5.5-12.06 6.46-20.7.84-7.74.73-16.02.02-23.9a136.2 136.2 0 0 0-.57-5.12c0-4.47-.3-6.94-2.16-17zM18.88 0h1.03C18 7.57 17.15 10.18 14.46 16.2c-1.95 4.37-2.67 9.19-2.42 14.89.2 4.33.71 7.7 2.28 16.13 1.09 5.88 1.57 8.77 1.94 12.2.96 8.9.24 16.08-2.8 22.79A463.4 463.4 0 0 1 0 109.43v-2.12a465 465 0 0 0 12.54-25.52c2.97-6.52 3.67-13.53 2.72-22.27-.36-3.4-.84-6.26-1.93-12.12-1.57-8.47-2.1-11.88-2.29-16.27-.26-5.84.48-10.81 2.5-15.33 2.64-5.9 3.48-8.47 5.34-15.8zm280.47 0a70.78 70.78 0 0 1-4.91 11.24c-2.56 4.7-4.01 8.45-4.86 11.98l-.4 1.8-.28 1.45a5.28 5.28 0 0 1-.74 2.07c-.74 1.03-1.93 1.28-5.13 1.25.92 0-9.85-.29-15.03-.29-10.2 0-18.45.82-29.46 2.56-16.87 2.66-17.73 2.77-23.66 2.52a42.57 42.57 0 0 1-8-1.09c-17.7-4.16-46.18-5.86-54.72-3.01-2.72.9-5.88 2.8-9.52 5.59a112.37 112.37 0 0 0-6.54 5.48c-1.4 1.25-9.17 8.5-10.78 9.84-1.45 1.2-8.18 7.42-8.85 8.02a114.65 114.65 0 0 1-4.55 3.9c-4.99 4.03-8.9 6.2-11.92 6.2-3.52.05-4.32 0-5.14-.4-1.13-.56-1.5-1.72-1.13-3.57.74-3.63 4.47-10.84 12.84-24.8 5.69-9.48 9.42-18 11.78-26.2 1.45-5.04 1.94-7.4 2.97-14.54h1.01c-1.05 7.3-1.54 9.7-3.01 14.82-2.39 8.28-6.16 16.89-11.9 26.44-8.3 13.84-12 21.01-12.7 24.48-.3 1.45-.08 2.14.59 2.47.6.3 1.35.35 3.48.3 3.92 0 7.69-2.1 12.5-5.98 1.4-1.13 2.87-2.39 4.51-3.86.66-.59 7.41-6.83 8.88-8.05 1.59-1.33 9.34-8.55 10.75-9.82 2.4-2.15 4.55-3.96 6.6-5.53 3.72-2.85 6.97-4.8 9.81-5.74 8.76-2.92 37.41-1.22 55.27 2.99 2.57.6 5.14.95 7.81 1.06 5.84.25 6.7.14 23.47-2.51 11.05-1.75 19.36-2.57 29.6-2.57 5.2 0 15.99.3 15.05.29 2.87.03 3.84-.17 4.3-.83.23-.32.4-.8.58-1.7l.28-1.43.4-1.85c.88-3.6 2.36-7.44 4.96-12.22 1.87-3.43 3.44-7 4.73-10.76h1.06zm-8.59 0c-5.91 17.94-9.55 22-19.76 22-4.5 0-10.22.32-28.69 1.5l-1.53.1c-15.6.99-23.47 1.4-28.78 1.4-5.35 0-13.24-.96-28.86-3.28l-1.54-.23C163.18 18.75 157.47 18 153 18c-4.45 0-7.3 1.01-10.96 3.34-.1.06-1.8 1.17-2.3 1.47-2.43 1.5-4.32 2.19-6.74 2.19-2.8 0-4.11-1.46-4.11-4.22 0-1.04.16-2.29.5-4.1.16-.82.9-4.4 1.07-5.32.8-4.11 1.3-7.68 1.47-11.36h2c-.17 3.82-.68 7.5-1.5 11.75-.19.94-.92 4.5-1.07 5.31a21.04 21.04 0 0 0-.47 3.72c0 1.7.46 2.22 2.11 2.22 1.99 0 3.55-.57 5.7-1.9.47-.28 2.15-1.37 2.26-1.44C144.92 17.14 148.12 16 153 16c4.62 0 10.3.74 28.9 3.51l1.53.23C198.93 22.04 206.8 23 212 23c5.25 0 13.11-.41 28.65-1.4l1.54-.1C260.73 20.32 266.43 20 271 20c8.95 0 12.15-3.4 17.66-20h2.1zM141.51 0h1.13c-2.06 3.86-2.63 5.1-2.77 6.19-.15 1.12.42 1.64 2.32 1.96 1.8.3 3.85.35 10.81.35 6.02 0 13 .56 21.35 1.62 3.95.5 8.03 1.1 13.13 1.89 24 3.7 22.5 3.49 26.83 3.49 24.02 0 51.83-2.24 60.45-6.94 2.88-1.57 5.05-4.49 6.6-8.56h1.07c-1.64 4.47-3.98 7.69-7.2 9.44-8.83 4.82-36.67 7.06-60.92 7.06-4.41 0-2.84.22-26.98-3.5-5.1-.8-9.17-1.38-13.1-1.88-8.31-1.06-15.26-1.62-21.23-1.62-7.04 0-9.1-.05-10.97-.37-2.38-.4-3.38-1.32-3.15-3.07.16-1.22.69-2.41 2.63-6.06zm76.4 0c5.69 1.64 10.37 2.5 14.09 2.5 9.59 0 16.7-.71 22.4-2.5h2.98C251.12 2.53 243.2 3.5 232 3.5c-4.5 0-10.32-1.21-17.53-3.5h3.45zM70.69 0c-2.87 3.27-6.95 5.39-12.02 6.53-3.98.89-7.5 1.08-12.92 1A97.24 97.24 0 0 0 44 7.5c-5.37 0-8.86-1.24-10.1-4.97A8.6 8.6 0 0 1 33.5 0h.99c.02.82.14 1.56.36 2.22C35.91 5.39 39.02 6.5 44 6.5l1.76.02c5.35.09 8.8-.1 12.69-.97C62.95 4.54 66.63 2.74 69.3 0h1.37zM0 207.87c7.31-.16 11.5 3.33 11.5 11.13 0 11.41-5.05 28.35-11.5 41.5v-2.3c5.93-12.72 10.5-28.47 10.5-39.2 0-7.18-3.7-10.3-10.5-10.13v-1zm0 7.05c1.23.14 2.18.58 2.87 1.31 1.4 1.48 1.6 3.72 1.16 7.58l-.16 1.3A28.93 28.93 0 0 0 3.5 229c0 3.2-1.48 9.52-3.5 15.9v-3.45c1.49-5.13 2.5-9.87 2.5-12.45 0-.98.08-1.75.37-4.02l.16-1.29c.42-3.56.24-5.59-.88-6.77-.5-.53-1.21-.87-2.15-1v-1zM0 410.9v-1.47a21.67 21.67 0 0 0 2.97-4.7c1.32-2.7 2.68-6.28 4.56-11.89 7.85-23.55 7.83-26.6.25-30.4-2.25-1.12-4.8-1.43-7.78-.91v-1.02a13.1 13.1 0 0 1 8.22 1.04c8.24 4.12 8.26 7.6.25 31.6-1.88 5.66-3.25 9.27-4.6 12.02A20.82 20.82 0 0 1 0 410.9zM33.64 452c1.68 0 3.04-.23 8.34-1.31l2.38-.47c8.26-1.57 12.72-1.3 14.53 2.33 1.38 2.75-.47 5.86-4.75 9.68a75.6 75.6 0 0 1-5.08 4.07c-.94.7-4.89 3.59-5.79 4.27-1.86 1.4-2.97 2.37-3.47 3.03a19.08 19.08 0 0 0-2.89 5.5c.07-.2-4.02 13.65-6.96 22.22-2.7 7.85-5.56 10.72-8.82 8.59-2.11-1.4-3.66-4.24-6.6-11.03-1.98-4.62-2.5-5.76-3.4-7.4-4.55-8.18-3.9-23.9-.05-32.87a9.6 9.6 0 0 1 6.98-5.96c2.59-.66 4.86-.75 11.78-.67l3.8.02zm0 2c-1.13 0-2.09 0-3.82-.02-12.07-.13-14.83.57-16.9 5.41-3.63 8.47-4.26 23.55-.05 31.12.96 1.73 1.48 2.88 3.5 7.58 2.72 6.3 4.24 9.08 5.86 10.14 1.64 1.08 3.5-.8 5.82-7.55a682.9 682.9 0 0 0 6.97-22.24 21.03 21.03 0 0 1 3.18-6.04c.65-.87 1.85-1.9 3.86-3.43.92-.7 4.87-3.57 5.8-4.27 2.02-1.5 3.6-2.77 4.95-3.97 3.63-3.23 5.09-5.7 4.3-7.28-1.21-2.42-5.07-2.65-12.38-1.27l-2.35.47c-5.49 1.11-6.86 1.35-8.74 1.35zm345.63 146c-3.45-12.26-3.77-14.13-3.77-19 0-3.33-.13-6.27-.43-11.34-.63-10.33-.65-13.5.26-17.07 1.21-4.74 4.21-7.1 9.67-7.1h26c4.08 0 5.19 1.85 5.93 7.11.1.79.13.97.19 1.32.84 5.35 2.8 7.58 8.88 7.58 3.64 0 5.54.4 6.43 1.37.76.83.76 1.44.36 3.93-.85 5.26.5 8.85 7.5 13.8 6.32 4.45 11.63 5.36 16.55 3.37 3.8-1.54 6.73-4.16 11.92-10l1.1-1.23 1.09-1.23a75.6 75.6 0 0 1 2.7-2.86 35.81 35.81 0 0 1 9.57-6.73c1.52-.76 1.72-.86 5.66-2.63 6.1-2.73 9.01-4.5 11.74-7.62 2.63-3 4.67-4.85 6.7-6.04 3.18-1.85 5.46-2.13 13.68-2.13 5.98 0 10.56-4.32 18-14.99l2.82-4.03c1.06-1.5 1.94-2.7 2.79-3.79 7.87-10.12 19.38-10.4 30.74.96 5.54 5.53 10.17 19.43 13.64 38.51 2.5 13.75 4.18 29.46 4.47 39.84h-1c-.3-10.32-1.96-25.97-4.45-39.66-3.43-18.87-8.02-32.65-13.36-37.99-10.95-10.95-21.76-10.68-29.26-1.04-.83 1.07-1.7 2.26-2.75 3.75l-2.81 4.02c-7.65 10.95-12.38 15.42-18.83 15.42-8.04 0-10.21.26-13.17 2-1.92 1.12-3.9 2.9-6.45 5.83-2.86 3.26-5.87 5.09-12.09 7.88a103.35 103.35 0 0 0-5.62 2.6 34.84 34.84 0 0 0-9.32 6.54 74.67 74.67 0 0 0-3.75 4.05l-1.1 1.24c-5.28 5.95-8.29 8.64-12.28 10.25-5.26 2.13-10.92 1.17-17.5-3.48-7.33-5.17-8.82-9.15-7.92-14.77.34-2.12.34-2.6-.1-3.1-.64-.69-2.34-1.04-5.7-1.04-6.63 0-8.96-2.63-9.87-8.42l-.2-1.34c-.67-4.82-1.53-6.24-4.93-6.24h-26c-5 0-7.6 2.04-8.7 6.34-.88 3.43-.85 6.57-.23 16.76a177 177 0 0 1 .43 11.4c0 4.78.32 6.63 3.81 19h-1.04zm13.68 0c-1.31-6.58-1.61-10.71-1.36-14.84.04-.7.1-1.44.18-2.38l.23-2.56c.34-3.81.5-6.97.5-11.22 0-4.94 1.46-7.76 4.21-8.42 2.38-.58 5.56.54 9.2 3 6.64 4.52 13.99 13.07 16.55 19.23 4.77 11.44 14.12 15.69 33.54 15.69 8.6 0 14.32-2.35 20.67-7.88 1.45-1.26 15.06-15 21-20 7.21-6.07 11.77-7.59 20.62-8.32 5.52-.45 7.98-.9 11.44-2.36 4.58-1.95 9.36-5.48 14.9-11.29 7.43-7.76 13.25-8.92 17.47-4.3 3.32 3.63 5.46 10.58 6.82 20.24.73 5.17.94 7.74 1.58 17.38.25 3.75.17 5.32-.92 18.03h-1c1.09-12.7 1.17-14.28.92-17.97-.64-9.6-.85-12.16-1.57-17.3-1.33-9.47-3.43-16.27-6.56-19.7-3.76-4.11-8.93-3.08-16 4.32-5.65 5.9-10.54 9.5-15.25 11.5-3.58 1.53-6.13 1.99-11.6 2.44-8.8.72-13.17 2.18-20.2 8.1-5.9 4.96-19.5 18.7-21 19.99-6.52 5.68-12.47 8.12-21.32 8.12-19.78 0-29.5-4.42-34.46-16.3-2.49-5.97-9.71-14.38-16.2-18.79-3.42-2.32-6.36-3.35-8.4-2.86-2.2.53-3.44 2.92-3.44 7.45 0 4.28-.16 7.47-.5 11.31l-.23 2.56c-.09.93-.14 1.65-.19 2.35-.24 4.08.06 8.18 1.39 14.78h-1.02zm113.75 0c2.52-3.26 8.93-11.79 10.9-14.3 5.48-6.98 13.05-12.38 19.4-13.94 7.01-1.71 11.5 1.45 11.5 9.24 0 4.02-.04 5.16-.74 19h-1c.7-13.85.74-15 .74-19 0-7.12-3.86-9.83-10.26-8.26-6.11 1.5-13.5 6.77-18.85 13.57-1.86 2.36-7.65 10.07-10.43 13.69h-1.26zm-9.86-338.96c3.44 2.71 7 5.1 11.44 7.75 1.06.64 8.42 4.9 10.35 6.1 11.27 7 15 13.35 12.35 25.33-1.45 6.52-4.53 11.1-9.39 14.44-3.83 2.63-8.07 4.26-16.08 6.56-11.97 3.45-13.68 3.99-18.82 6.28a60.18 60.18 0 0 0-7.81 4.18c-11.11 7.07-19.1 7.7-27.96 3.28-3.56-1.77-17.2-11-17.2-11.01a101.77 101.77 0 0 0-5.2-3.07c-16.04-8.83-34.27-24.16-34.52-31.85-.11-3.46 1.99-6.57 6.28-10.26 1.03-.9 2.18-1.81 3.68-2.95.72-.55 3.38-2.56 3.94-3 4.47-3.4 7.18-5.79 9.32-8.45 11.12-13.82 26.55-28.68 34.36-32.28 12.06-5.54 19.84-5.77 27.37.12 3.25 2.54 5.65 6.54 8.58 13.35.29.65 2.3 5.45 2.88 6.74 1.62 3.65 2.9 5.8 4.24 6.94.72.6 1.45 1.2 2.2 1.8zm-3.49-.28c-1.63-1.39-3.03-3.74-4.77-7.65-.58-1.3-2.6-6.12-2.88-6.76-2.81-6.5-5.08-10.3-7.98-12.56-6.83-5.35-13.85-5.15-25.3.12-7.45 3.42-22.7 18.12-33.64 31.72-2.27 2.82-5.08 5.3-9.67 8.79l-3.94 2.98a79.98 79.98 0 0 0-3.59 2.88c-3.87 3.33-5.67 6-5.58 8.69.21 6.64 18.14 21.72 33.48 30.15 1.76.97 3.5 2 5.3 3.13.12.08 13.61 9.22 17.03 10.92 8.22 4.1 15.46 3.52 26-3.18a62.17 62.17 0 0 1 8.07-4.31c5.25-2.35 7-2.9 19.08-6.38 7.8-2.24 11.9-3.82 15.5-6.3 4.44-3.04 7.23-7.18 8.56-13.22 2.44-11.02-.83-16.6-11.45-23.2-1.9-1.18-9.23-5.42-10.32-6.08-4.5-2.69-8.13-5.12-11.64-7.9-.77-.6-1.52-1.21-2.26-1.84zM87.72 241.6c4.3-2.98 7.88-5 12.14-6.95.84-.4 1.73-.78 2.78-1.24l4.37-1.88a164.3 164.3 0 0 0 17.74-8.96 320.67 320.67 0 0 1 27.87-14.5c4.22-1.95 21.89-9.84 21.17-9.52 19.17-8.62 28.1-6.93 49.5 8.05 7.91 5.54 13.24 13.25 16.45 22.66 3.02 8.83 3.76 16.51 3.76 27.75 0 8.32-.66 12.95-3.68 18.97-4.18 8.36-12.3 16.14-25.58 23.47-24.45 13.49-38.83 27.55-52.83 47.84-8.83 12.8-47.76 44.21-65.16 54.15C75.04 413.55 48.89 423.5 31 423.5c-10.05 0-14.67-4.78-14.76-13.37-.07-6.32 2.06-13.73 6.3-24.32 2.95-7.37 2.02-12.9-2.16-22.29-3.19-7.17-3.88-9.14-3.88-12.52 0-3.35 1.87-6.9 5.52-11.07 2.61-3 3.5-3.83 11.9-11.5 5.09-4.66 8.08-7.6 10.7-10.75 9.46-11.36 12.62-19.47 17.9-44.78 3.12-15.05 6.63-20.28 15.12-25.25.8-.47 3.95-2.25 4.7-2.68a76.66 76.66 0 0 0 5.38-3.38zm.56.82a77.63 77.63 0 0 1-5.44 3.43l-4.7 2.67c-8.23 4.82-11.57 9.81-14.65 24.6-5.3 25.45-8.51 33.7-18.1 45.21-2.66 3.19-5.68 6.16-10.8 10.84-8.36 7.64-9.24 8.48-11.82 11.42-3.5 4.01-5.27 7.36-5.27 10.42 0 3.18.68 5.1 3.8 12.12 4.27 9.6 5.24 15.37 2.16 23.07-4.18 10.47-6.29 17.78-6.22 23.93.08 8.06 4.26 12.38 13.76 12.38 17.67 0 43.68-9.9 64.75-21.93 17.28-9.88 56.1-41.2 64.84-53.85 14.08-20.42 28.57-34.59 53.17-48.16 13.12-7.23 21.09-14.87 25.17-23.03 2.92-5.86 3.57-10.35 3.57-18.53 0-11.13-.74-18.73-3.7-27.43-3.15-9.22-8.36-16.75-16.09-22.16-21.13-14.8-29.7-16.42-48.5-7.95.7-.32-16.96 7.56-21.17 9.5-1.7.8-3.3 1.55-4.86 2.3a319.68 319.68 0 0 0-22.93 12.17 165.3 165.3 0 0 1-17.85 9.01l-4.37 1.88c-1.04.45-1.92.84-2.76 1.23a74.56 74.56 0 0 0-11.99 6.86zm-7.6 12.2c7.7-6.25 12.3-8.17 23.68-11.27 6.12-1.67 9.12-2.95 12.31-5.72 3.8-3.3 7.47-4.52 15.86-6.1 2.75-.52 3.67-.7 5.06-1.02 5.48-1.24 9.48-2.93 13.1-5.89 10.42-8.53 25.4-14.11 36.31-14.11 5.33 0 16.77 7.58 25.74 17.16 10.73 11.46 15.96 23.27 12.73 32.5-3.18 9.1-11.39 18.57-23.03 27.86-8.44 6.73-18.36 13-25.22 16.43-3.72 1.86-6.59 4.88-9.77 9.99-.69 1.1-11.1 20.25-16.03 27.83-5.62 8.65-15.4 17.36-30.23 27.96a552.58 552.58 0 0 1-9.2 6.42c-.13.09-6.81 4.65-8.6 5.89-6.47 4.46-10.35 7.35-13.05 9.83-11.64 10.67-37.14 15.54-43.7 8.98-1.96-1.96-2.2-4.06-1.95-10.52.37-9.42-.5-14.5-4.95-20.51a34.09 34.09 0 0 0-7.04-6.92c-3.93-2.95-6.07-6.11-6.56-9.49-.97-6.61 3.87-13.06 14.17-21.69 1.58-1.32 6.67-5.44 7.09-5.78a48.03 48.03 0 0 0 5.23-4.77c4.1-4.63 5.85-9.55 7.8-20.07a501.52 501.52 0 0 0 .8-4.37c.33-1.87.6-3.3.88-4.73.74-3.78 1.5-7.18 2.4-10.63 1-3.78 1.38-5.5 2.36-10.37.6-3.02.93-4.21 1.56-5.47 1.22-2.45 1.27-2.5 12.25-11.42zm.64.78c-10.77 8.74-10.88 8.84-12 11.08-.58 1.16-.88 2.3-1.47 5.22-.98 4.89-1.36 6.63-2.37 10.44-.9 3.43-1.65 6.8-2.39 10.56a339.79 339.79 0 0 0-1.29 6.95l-.39 2.15c-1.98 10.68-3.77 15.74-8.04 20.54a48.77 48.77 0 0 1-5.34 4.88c-.42.34-5.5 4.47-7.07 5.78-10.04 8.4-14.72 14.65-13.83 20.78.45 3.1 2.44 6.03 6.17 8.83 3 2.25 5.39 4.62 7.24 7.12 4.63 6.24 5.52 11.52 5.15 21.15-.25 6.14-.01 8.1 1.66 9.78 6.1 6.1 31.02 1.33 42.31-9.02 2.75-2.52 6.66-5.43 13.16-9.92l8.6-5.89c3.63-2.48 6.45-4.44 9.19-6.4 14.73-10.54 24.44-19.18 29.97-27.7 4.9-7.54 15.31-26.68 16.02-27.8 3.27-5.26 6.26-8.41 10.18-10.37 6.79-3.4 16.65-9.63 25.03-16.32 11.52-9.18 19.61-18.53 22.72-27.4 3.07-8.78-2.02-20.27-12.52-31.49-8.8-9.4-20.04-16.84-25.01-16.84-10.67 0-25.43 5.5-35.68 13.89-3.76 3.07-7.9 4.81-13.5 6.09-1.41.32-2.35.5-5.11 1.02-8.21 1.55-11.76 2.73-15.38 5.88-3.34 2.9-6.45 4.22-12.7 5.92-11.26 3.07-15.75 4.94-23.31 11.09zM212 251.85c0 7.56-.6 10.92-2.6 14.3-1.1 1.84-7.66 10.05-8.6 11.3-5.96 7.94-9.33 10.28-17.26 13.76-1.34.58-2.2 1-3.03 1.5-.55.33-1.2.66-2 1.02-.71.33-4.46 1.9-5.52 2.39-6.05 2.78-8.99 5.8-8.99 10.73 0 10.97-18.95 36.12-34.51 44.87-8.18 4.6-21.3 9.36-32.78 11.86-13.33 2.9-22.49 2.48-24.62-2.32-1.32-2.97-4.4-4.26-11.98-5.81l-.6-.12c-4.84-.99-6.94-1.55-9.03-2.64-2.92-1.5-4.48-3.7-4.48-6.84 0-2.74 1.08-5.77 3.25-9.67.85-1.53 1.82-3.13 3.23-5.35-.16.25 2.83-4.4 3.67-5.76 6.69-10.7 9.85-18.5 9.85-27.22 0-18.41 11.22-33.37 27.5-42.86 5.22-3.05 9.23-3.31 15.2-2.12 5.04 1 6.05.9 7.43-1.52 4.5-7.85 7.04-9.5 15.87-9.5 3.93 0 6.97-.98 10.47-3.16 1.56-.97 8.67-6.17 10.99-7.68 9.2-5.98 11.34-7 25.2-11.95 6.95-2.48 15.18 1.28 22.33 9.12 6.55 7.19 11.01 16.61 11.01 23.67zm-2 0c0-6.5-4.25-15.48-10.49-22.32-6.67-7.32-14.16-10.74-20.17-8.59-13.73 4.9-15.73 5.85-24.8 11.75-2.24 1.46-9.37 6.68-11.01 7.7-3.8 2.36-7.2 3.46-11.53 3.46-8.08 0-9.98 1.23-14.13 8.5-1.1 1.91-2.51 2.88-4.35 3.09-1.3.14-1.9.05-5.22-.61-5.53-1.1-9.07-.88-13.8 1.88-15.72 9.17-26.5 23.55-26.5 41.14 0 9.2-3.28 17.29-10.15 28.28l-3.68 5.77c-1.39 2.19-2.35 3.77-3.17 5.25-2.02 3.63-3 6.38-3 8.7 0 4.19 2.87 5.67 11.9 7.52l.61.12c8.27 1.7 11.7 3.13 13.4 6.95 3.17 7.14 36 0 54.6-10.46 14.98-8.43 33.49-32.99 33.49-43.13 0-5.9 3.47-9.48 10.16-12.55 1.1-.5 4.85-2.08 5.52-2.38.74-.34 1.32-.64 1.8-.93.92-.55 1.85-1 3.25-1.62 7.65-3.35 10.75-5.5 16.47-13.12 1.02-1.36 7.47-9.42 8.47-11.11 1.79-3.01 2.33-6.06 2.33-13.3zm-37.18-22.4c.15-.1 2.4-1.51 2.95-1.84.96-.57 1.7-.94 2.43-1.17 2.57-.83 5.06-.1 11.04 3.12 14.86 8 19.43 22.87 9.18 38.71-4.04 6.24-9.37 9-18.72 11.11-.85.2-1.2.27-3.13.68-6.04 1.29-8.78 2.08-11.6 3.65-3.63 2.02-6.09 4.98-7.5 9.44-7.87 24.93-19.72 43.34-36.28 50.31-16.45 6.93-21.13 8.53-27.98 8.89-4.94.25-9.8-.65-15.4-2.89a44.45 44.45 0 0 1-5.64-2.6c-4.02-2.33-5.14-4.74-4.5-9.31.3-2.13 3.77-15.53 4.84-20.65.63-3.05 1.19-6.14 1.75-9.69a464.04 464.04 0 0 0 1.35-8.9c1.42-9.41 2.5-14.27 4.49-18.65 2.46-5.43 6.13-9.03 11.72-11.13 6.59-2.47 10.54-3.1 18.03-3.53 4.75-.27 6.68-.64 9-2.05.61-.37 1.22-.81 1.82-1.33a30.61 30.61 0 0 0 3.37-3.4c.59-.69 2.38-2.9 2.63-3.19 3.36-4 6.3-5.53 12.33-5.53 3.94 0 5.9-.92 8.18-3.36-.17.18 2.75-3.14 3.85-4.22a30.95 30.95 0 0 1 6.79-5c1.5-.83 3.15-1.62 4.99-2.38a64.92 64.92 0 0 0 10.01-5.1zm-14.52 8.34a29.95 29.95 0 0 0-6.57 4.84 116.68 116.68 0 0 0-3.82 4.2c-2.46 2.63-4.68 3.67-8.91 3.67-5.72 0-8.39 1.39-11.57 5.17-.23.28-2.03 2.5-2.63 3.2a31.6 31.6 0 0 1-3.47 3.51c-.65.55-1.3 1.03-1.96 1.43-2.5 1.51-4.55 1.9-9.47 2.19-7.39.42-11.25 1.04-17.72 3.47-5.34 2-8.82 5.4-11.17 10.6-1.93 4.27-3 9.07-4.41 18.39l-.65 4.34-.7 4.57c-.57 3.56-1.12 6.67-1.76 9.73-1.08 5.18-4.54 18.53-4.83 20.59-.59 4.17.35 6.18 4.01 8.3 1.35.77 3.1 1.58 5.52 2.55 5.46 2.18 10.18 3.05 14.97 2.8 6.69-.34 11.32-1.93 27.65-8.8 16.21-6.83 27.92-25.01 35.71-49.7 1.49-4.7 4.12-7.86 7.97-10 2.93-1.63 5.74-2.45 11.87-3.76 1.92-.4 2.28-.49 3.12-.68 9.12-2.06 14.24-4.7 18.1-10.67 9.92-15.34 5.55-29.55-8.82-37.29-5.75-3.1-8.03-3.76-10.25-3.05-.65.2-1.33.54-2.23 1.08-.55.32-2.77 1.72-2.93 1.82a65.91 65.91 0 0 1-10.16 5.17c-1.8.75-3.42 1.52-4.89 2.33zm-42.39 32.72c16.15-2.87 26.36-.97 32.47 6.16 5.08 5.93 1.13 21.42-5.93 35.55-4.79 9.58-10.6 16.21-23.16 25.19-14.15 10.1-35.5 12.2-40.71 3.85-1.86-2.97-2.1-8.14-1.06-15.73.78-5.68 1.86-10.71 4.73-22.98l.12-.51c1.59-6.8 2.37-10.31 3.14-14.14 1.45-7.25 3.74-11.47 7.26-13.74 2.81-1.8 5.53-2.28 12.33-2.62 5.33-.27 7.56-.46 10.81-1.03zm.18.98c-3.3.59-5.56.78-10.94 1.05-6.62.33-9.23.78-11.84 2.46-3.25 2.1-5.42 6.09-6.82 13.1-.77 3.84-1.56 7.35-3.15 14.17l-.12.5c-2.86 12.24-3.93 17.26-4.7 22.9-1.03 7.36-.79 12.36.9 15.07 4.82 7.7 25.54 5.67 39.29-4.15 12.43-8.88 18.13-15.39 22.84-24.81 6.86-13.72 10.75-29 6.07-34.45-5.84-6.81-15.7-8.65-31.53-5.84zM132 276.5c7.12 0 10.66 3.08 11.25 8.7.42 4.02-.43 8.14-2.77 15.94-2.56 8.52-18.36 25.38-27.2 31.28-7.01 4.67-20.02 5.67-26.57.99-3.99-2.85-3.53-12.08.02-26.46.68-2.75 1.47-5.65 2.37-8.76a412.6 412.6 0 0 1 3.05-10.14l.37-1.2c1.48-4.8 5.1-7.75 10.73-9.27 4.4-1.2 9.54-1.5 17.48-1.33l3.89.1c3.87.11 5.42.15 7.38.15zm0 1c-1.97 0-3.53-.04-7.41-.15l-3.88-.1c-7.85-.17-12.92.13-17.2 1.3-5.32 1.43-8.67 4.16-10.03 8.6a1277.83 1277.83 0 0 1-1.6 5.21c-.68 2.2-1.27 4.17-1.82 6.1-.9 3.1-1.68 5.99-2.36 8.73-3.43 13.88-3.87 22.93-.4 25.4 6.17 4.42 18.73 3.45 25.42-1 8.66-5.78 24.33-22.49 26.8-30.73 2.3-7.67 3.14-11.71 2.73-15.56-.53-5.1-3.64-7.8-10.25-7.8zm-17.79 7a31.3 31.3 0 0 1 8.57 1.4c5.42 1.78 8.72 5.03 8.72 10.1 0 9.59-9.51 17.2-22.34 21.47-9.82 3.28-13.62-1.79-11.66-16.54.84-6.28 3.82-10.67 8.24-13.46a20.38 20.38 0 0 1 8.47-2.97zm-.6 1.08a19.39 19.39 0 0 0-7.34 2.73c-4.18 2.64-6.98 6.78-7.77 12.76-1.89 14.11 1.36 18.45 10.34 15.46C121.3 312.37 130.5 305 130.5 296c0-4.56-2.98-7.5-8.03-9.15a28.05 28.05 0 0 0-8.2-1.35c-.13 0-.35.03-.66.08zm80.87-23.45c-2.72 9.8-14.93 9.86-26.72 3.3-10.17-5.64-13.8-17.98-5-22.87a66.53 66.53 0 0 0 4.48-2.7l2.03-1.3a50.15 50.15 0 0 1 3.92-2.3c4.73-2.43 8.82-2.8 14-.72 9.16 3.66 10.98 13.33 7.3 26.6zm-20.83-24.98a49.26 49.26 0 0 0-3.84 2.25l-2.03 1.3c-.84.53-1.5.95-2.16 1.35-.82.5-1.6.96-2.38 1.39-7.94 4.4-4.59 15.8 5 21.12 11.31 6.29 22.8 6.23 25.28-2.7 3.57-12.83 1.85-21.97-6.7-25.4-4.9-1.95-8.69-1.62-13.17.7zm17.85 12.15c0 5.7-2.44 9-6.64 9.96-3.3.76-7.56-.05-11.08-1.81l-1.89-.94c-.67-.34-1.18-.62-1.63-.88-4.07-2.38-4.13-4.97.34-10.93 6.8-9.06 20.9-7.16 20.9 4.6zm-1 0c0-5.3-2.87-8.55-7.32-9.16-4.23-.57-8.99 1.44-11.78 5.16-4.15 5.54-4.1 7.44-.64 9.47.44.25.93.51 1.59.85l1.87.93c3.34 1.67 7.36 2.44 10.42 1.74 3.73-.86 5.86-3.74 5.86-9zM387 530.3c0-12.8 2.44-16.74 18.48-29.77a56.8 56.8 0 0 1 7.61-5.2c2.6-1.5 5.33-2.82 8.5-4.18 1.24-.53 2.48-1.05 4.1-1.7l3.92-1.57c9.4-3.83 13.74-6.7 16.62-12.05 1.2-2.22 2.21-4.4 3.23-6.83a148.57 148.57 0 0 0 1.54-3.84l.3-.74.56-1.44c3.2-8.02 6.05-12.08 12.7-16.5a35.26 35.26 0 0 0 4.96-4 46.36 46.36 0 0 0 3.88-4.29c.27-.34 2.55-3.2 3.2-3.98 3.48-4.15 6.51-5.9 11.51-5.9 3.08 0 5.62-.63 9.57-2.1 5.42-2.02 6.53-2.34 8.96-2.2 2.53.13 4.85 1.26 7.18 3.59 1.3 1.3 5.55 5.83 6.52 6.78 5.06 5 9.44 6.92 17.77 6.92a197.5 197.5 0 0 1 12.08.45c15.93.87 21.94.57 25.28-2.21 6.91-5.77 11.64-2.73 11.64 7.76 0 10.73-8.6 20-19 20-4.8 0-8.32 1.43-9.34 3.67-1.12 2.48.68 6.15 5.98 10.57 13.6 11.33 11.24 20.76-7.64 20.76a21.91 21.91 0 0 0-14.6 5.24c-3.28 2.71-5.8 5.86-9.85 11.82l-1.52 2.25c-3.1 4.57-5.01 7.1-7.32 9.4-6.21 6.21-9.3 7.64-13.05 6.89l-1-.23a10.82 10.82 0 0 0-2.66-.37c-1.6 0-2.41.67-8.18 6.22-4.85 4.67-8.07 6.78-11.82 6.78-1.33 0-3.46 1.15-6.45 3.45-1.27.98-2.68 2.14-4.5 3.7l-4.92 4.29a181.11 181.11 0 0 1-4.54 3.82c-9.33 7.56-15.63 10.2-20.21 6.52-2.7-2.15-4.14-4.51-4.63-7.26-.37-2.04-.26-3.63.29-7.3.87-5.85.65-8.42-1.83-11.6-2.32-2.98-2.96-3.22-3.77-2.39-.25.26-1.35 1.63-1.61 1.94-2.21 2.5-4.85 3.57-9 2.82-4.6-.84-5.57-4.11-4.72-10.09l.24-1.56c.6-3.66.68-4.93.25-5.8-.44-.86-1.9-.94-5.23.4l-.74.29c-13.78 5.54-15.26 6.09-19.43 6.67-6.03.84-9.31-1.6-9.31-7.9zm2 0c0 5 2.14 6.6 7.04 5.92 3.91-.55 5.43-1.1 18.95-6.55l.75-.3c4.17-1.66 6.7-1.54 7.76.58.71 1.43.62 2.76-.06 7l-.24 1.53c-.72 5.04-.06 7.27 3.09 7.84 3.43.62 5.38-.17 7.15-2.18.2-.23 1.34-1.66 1.68-2 1.9-1.96 3.82-1.25 6.78 2.55 2.9 3.74 3.17 6.77 2.22 13.12-1 6.75-.52 9.4 3.62 12.71 3.49 2.8 9.1.45 17.7-6.51 1.35-1.1 2.75-2.28 4.49-3.78l4.93-4.3c1.84-1.58 3.27-2.76 4.58-3.77 3.34-2.56 5.74-3.86 7.67-3.86 3.04 0 5.95-1.9 10.43-6.22l2.46-2.39c.94-.89 1.67-1.56 2.37-2.13 1.81-1.49 3.3-2.26 4.74-2.26 1.03 0 1.81.13 3.1.42.7.16.71.17.96.21 2.96.6 5.45-.55 11.23-6.33 2.2-2.2 4.06-4.65 7.09-9.11l1.52-2.25c4.15-6.11 6.76-9.37 10.22-12.24a23.9 23.9 0 0 1 15.88-5.7c16.87 0 18.62-7.01 6.36-17.23-5.9-4.92-8.12-9.41-6.52-12.93 1.42-3.12 5.67-4.84 11.16-4.84 9.25 0 17-8.34 17-18 0-8.94-2.88-10.79-8.36-6.23-3.94 3.28-9.98 3.59-26.67 2.68l-1.02-.06c-5.09-.27-7.99-.39-10.95-.39-8.88 0-13.76-2.14-19.18-7.5-1-.98-5.26-5.53-6.53-6.79-1.99-1.99-3.86-2.9-5.87-3-2.03-.12-3.06.18-8.15 2.07-4.15 1.55-6.9 2.22-10.27 2.22-4.33 0-6.84 1.46-9.98 5.2-.63.74-2.89 3.6-3.18 3.95a48.29 48.29 0 0 1-4.04 4.46 37.26 37.26 0 0 1-5.24 4.23c-6.26 4.17-8.9 7.91-11.95 15.58l-.57 1.43-.28.74a531.5 531.5 0 0 1-1.56 3.88 77.49 77.49 0 0 1-3.32 7c-3.16 5.88-7.82 8.97-17.63 12.96l-3.92 1.58c-1.6.64-2.84 1.15-4.05 1.67a79.2 79.2 0 0 0-8.3 4.08 54.8 54.8 0 0 0-7.35 5.02C391.12 514.78 389 518.21 389 530.31zm133.22-79.76c3.06 1.53 6.54 2.02 10.68 1.7 2.53-.2 4.91-.62 8.8-1.49 5.36-1.19 6.33-1.38 8.33-1.54 2.78-.23 4.82.17 6.29 1.4 1.58 1.31 1.96 2.72 1.26 4.22-.66 1.38-1.05 1.74-5.05 5.07-3.53 2.93-5.03 4.83-5.03 7.09 0 7.3 1.29 10.02 7.83 15.62 3.86 3.3 5.93 6.84 5.28 9.62-.75 3.25-4.96 5.02-12.61 5.02-7.18 0-12.7 4.61-20.03 14.68-.5.7-3.96 5.57-4.94 6.87a38.89 38.89 0 0 1-4.72 5.5c-1.06.98-2.09 1.7-3.1 2.15-2.85 1.26-5.05 1.57-9.83 1.74-7.66.27-10.87 1.45-14.98 7.1-1.58 2.17-3.11 4-4.68 5.6a42.87 42.87 0 0 1-8.65 6.69c-.15.08-10.69 6.19-14.8 8.83-3.76 2.42-6.45 2.04-8.22-.77-1.28-2.03-1.9-4.54-2.87-10.35-.84-5.08-1.27-7.08-2.06-8.93-.97-2.3-2.21-3.24-4.02-2.88-6.2 1.24-8.95 1.39-10.98.2-2.37-1.4-3.13-4.62-2.62-10.73.16-1.96-1.04-2.87-3.76-3.04-2.24-.13-4.9.2-9.94 1.12l-.69.12c-7.97 1.45-10.72 1.72-12.72.73-2.91-1.43-1.6-5.27 4.23-12.21 5.48-6.53 10.6-10.81 15.76-13.53 3.74-1.97 5.94-2.65 12.16-4.1 7.29-1.72 10.4-3.51 14.04-9.31 2.96-4.75 10.74-18.62 12.14-20.84 3.59-5.67 6.8-9.1 11.05-11.34 2.6-1.38 4.72-2.82 9.17-6.07l1.38-1.01c7.85-5.72 12.3-7.98 17.68-7.98 4.22 0 6.49 1.36 9.13 4.77.34.43 1.67 2.22 2 2.67.85 1.09 1.6 1.98 2.45 2.83a24.29 24.29 0 0 0 6.64 4.78zm-.44.9c-2.8-1.4-5-3.03-6.92-4.97-.87-.9-1.65-1.81-2.51-2.93-.35-.46-1.68-2.25-2.01-2.67-2.47-3.18-4.46-4.38-8.34-4.38-5.09 0-9.4 2.2-17.09 7.78l-1.38 1.01c-4.49 3.29-6.63 4.74-9.3 6.15-4.06 2.15-7.16 5.45-10.66 11-1.39 2.19-9.16 16.05-12.15 20.82-3.79 6.07-7.13 7.98-14.66 9.75-6.13 1.45-8.27 2.1-11.92 4.02-5.04 2.66-10.05 6.86-15.46 13.3-5.43 6.46-6.53 9.69-4.55 10.66 1.7.84 4.48.57 12.1-.81l.7-.13c5.12-.93 7.82-1.27 10.17-1.12 3.21.2 4.92 1.48 4.7 4.11-.48 5.76.2 8.64 2.13 9.78 1.73 1.02 4.34.88 10.27-.31 2.35-.47 4 .78 5.14 3.47.83 1.95 1.27 4 2.07 8.8l.06.36c.94 5.65 1.55 8.11 2.72 9.98 1.46 2.3 3.52 2.6 6.84.46 4.14-2.66 14.69-8.77 14.81-8.85a41.9 41.9 0 0 0 8.46-6.54 47.89 47.89 0 0 0 4.6-5.48c4.32-5.95 7.81-7.23 15.74-7.5 4.66-.17 6.76-.47 9.46-1.67.9-.4 1.85-1.06 2.84-1.96a38.03 38.03 0 0 0 4.6-5.36c.96-1.3 4.4-6.16 4.93-6.87 7.5-10.31 13.22-15.09 20.83-15.09 7.24 0 11.02-1.6 11.64-4.24.54-2.32-1.36-5.55-4.97-8.64-6.75-5.79-8.17-8.79-8.17-16.38 0-2.67 1.64-4.74 5.39-7.86 3.8-3.17 4.23-3.56 4.78-4.73.5-1.06.25-1.99-.99-3.03-2.23-1.85-4.72-1.65-13.76.36-3.93.87-6.35 1.3-8.94 1.5-4.3.34-7.97-.18-11.2-1.8zm-28-3.9c5.65-2.82 8.96-2.2 12.9 1.37.56.5 2.6 2.47 3.02 2.87 4.2 3.89 8.07 5.71 14.3 5.71 11.37 0 14 1.41 16.1 8.09.26.83 1.35 4.6 1.66 5.62.8 2.63 1.64 5.03 2.7 7.6 2.13 5.17 2.64 8.32 1.72 10.24-.77 1.61-2.1 2.18-5.37 2.79-2.32.43-2.8.53-3.85.85-1.85.58-3.35 1.4-4.6 2.66-1 1-2.02 2.13-3.31 3.66-.6.71-2.91 3.5-3.46 4.14-7.2 8.54-12.43 12.35-19.59 12.35-3.76 0-6.95 1.28-10.59 4-1.84 1.37-11.62 10.31-15.22 13.06a73.09 73.09 0 0 1-8.95 5.88c-4.58 2.54-7.35 3.22-8.98 2.23-1.32-.8-1.65-2.07-1.94-5.5a52.53 52.53 0 0 0-.16-1.81c-.54-4.73-2.24-6.86-7.16-6.86-7.11 0-8.85-1.23-9.73-5.41-.96-4.61-2.1-6.7-6.55-9.67-3.97-2.65-4.31-5.42-1.52-8.22 2-2 4.63-3.5 11.35-6.87 6.61-3.3 9.2-4.8 11.1-6.68a39.09 39.09 0 0 0 5.3-6.48c.98-1.5 1.83-3.04 2.88-5.13l2.12-4.3c.91-1.83 1.72-3.37 2.61-4.98 5.74-10.32 10.37-14.78 23.22-21.2zm-22.34 21.7c-.89 1.59-1.69 3.12-2.6 4.94l-2.11 4.3a52.9 52.9 0 0 1-2.94 5.23 40.08 40.08 0 0 1-5.44 6.63c-2 2-4.62 3.51-11.35 6.87-6.6 3.3-9.2 4.8-11.1 6.69-2.33 2.34-2.08 4.37 1.38 6.67 4.7 3.14 5.96 5.46 6.97 10.3.78 3.7 2.09 4.62 8.75 4.62 5.5 0 7.57 2.57 8.15 7.75.06.5.09.82.17 1.84.25 3.06.55 4.17 1.46 4.72 1.2.74 3.69.13 7.98-2.25a72.09 72.09 0 0 0 8.82-5.8c3.55-2.7 13.34-11.65 15.24-13.07 3.79-2.83 7.18-4.19 11.18-4.19 6.77 0 11.8-3.67 18.83-12l3.45-4.13a60.07 60.07 0 0 1 3.37-3.72 11.72 11.72 0 0 1 5.01-2.91c1.1-.34 1.6-.45 3.97-.89 2.95-.55 4.07-1.02 4.65-2.23.76-1.59.28-4.5-1.74-9.43a84.46 84.46 0 0 1-2.74-7.69c-.31-1.03-1.4-4.8-1.66-5.61-1.95-6.2-4.16-7.39-15.14-7.39-6.5 0-10.61-1.93-14.98-5.98-.44-.4-2.46-2.37-3.01-2.86-3.65-3.3-6.52-3.85-11.79-1.21-12.67 6.33-17.15 10.65-22.78 20.8zm55.86 11.93c-2.98 6.45-16.78 15.26-26.74 15.26-5.33 0-7.56-2.98-7.11-7.86.32-3.48 2.1-7.91 3.93-10.61l1.52-2.32a44.95 44.95 0 0 1 1.88-2.7c3.66-4.8 7.85-7.45 13.62-7.45 9.06 0 15.75 9.52 12.9 15.68zm-.9-.42c2.52-5.47-3.65-14.26-12-14.26-5.4 0-9.33 2.48-12.82 7.06-.6.8-1.17 1.6-1.85 2.64 0 0-1.2 1.87-1.52 2.33-1.74 2.57-3.46 6.85-3.77 10.14-.4 4.33 1.43 6.77 6.12 6.77 9.57 0 23.02-8.58 25.83-14.68zm-69.67 20.74c2.08.18 4.44.81 5.88 1.8 2.12 1.47 2.2 3.6-.26 6.05-5.14 5.15-12.85 4.34-12.85-1.35 0-4.66 3.14-6.84 7.23-6.5zm-.09 1c-3.56-.3-6.14 1.5-6.14 5.5 0 4.58 6.53 5.26 11.15.65 2.03-2.04 1.98-3.43.4-4.52-1.27-.88-3.48-1.47-5.4-1.63zm29.59-225.95c4.64 2.35 17.27 8.24 19.39 9.43a24.14 24.14 0 0 1 7.05 5.64 45.03 45.03 0 0 1 3.75 5.2c2.4 3.78.04 7.66-6.2 11.63-4.97 3.16-12.18 6.3-21.95 9.82-4.84 1.74-19.63 6.68-21.1 7.2-6.59 2.33-14.85.1-25.14-5.86-3.93-2.27-8-5-12.94-8.54-2.23-1.61-9.5-6.99-10.7-7.85a81.21 81.21 0 0 0-8.63-5.7c-4.82-2.6-4.45-6.64.17-12.13 3.27-3.88 4.17-4.67 18.1-16.33a230.2 230.2 0 0 0 8.89-7.74 95.2 95.2 0 0 0 4.72-4.66c5.08-5.43 9.8-6.49 14.97-3.92 2.24 1.1 4.53 2.85 7.43 5.52 1.48 1.37 6.94 6.72 7.98 7.7 5.2 4.91 9.46 8.2 14.2 10.6zm-.46.9c-4.85-2.45-9.18-5.79-14.44-10.76-1.05-1-6.5-6.34-7.97-7.69-2.83-2.61-5.06-4.3-7.2-5.37-4.75-2.36-9-1.4-13.8 3.71a96.18 96.18 0 0 1-4.76 4.71c-2.48 2.3-5.16 4.62-8.92 7.77-13.86 11.6-14.77 12.4-17.98 16.21-4.28 5.08-4.58 8.4-.46 10.61 2.23 1.2 4.9 2.99 8.74 5.77 1.2.87 8.47 6.24 10.7 7.85a154.8 154.8 0 0 0 12.85 8.49c10.06 5.82 18.07 7.98 24.3 5.78 1.48-.52 16.27-5.47 21.1-7.2 9.7-3.5 16.86-6.61 21.75-9.72 5.84-3.71 7.9-7.1 5.9-10.26a44.09 44.09 0 0 0-3.67-5.08 23.16 23.16 0 0 0-6.78-5.42c-2.08-1.16-14.68-7.05-19.36-9.4zm-38.83 8.05c3.11-.37 5.7-.13 8.4.7 2.15.66 2.74.93 8.64 3.77 4.75 2.29 8.39 3.86 13.19 5.56 8.38 2.97 11.32 6.23 8.83 9.76-2.08 2.94-8.04 5.92-17.84 9.18-8.45 2.82-15.48 2.35-21.43-.9-4.65-2.55-8.33-6.5-12.15-12.3-2.9-4.41-2.73-8.2.16-11.06 2.48-2.45 6.87-4.07 12.2-4.7zm.12 1c-5.13.6-9.33 2.16-11.62 4.42-2.53 2.5-2.68 5.77-.02 9.8 3.73 5.68 7.3 9.51 11.8 11.97 5.7 3.11 12.43 3.57 20.62.84 9.59-3.2 15.44-6.12 17.34-8.82 1.94-2.75-.5-5.45-8.35-8.24-4.84-1.72-8.5-3.3-13.28-5.6-5.84-2.81-6.42-3.07-8.5-3.71a18.42 18.42 0 0 0-8-.66zM202.5 500.38c0 4.78-1.45 7.56-4.43 8.93-2.29 1.05-4.55 1.23-10.79 1.2l-1.78-.01c-9.19 0-17-7.65-17-15.5 0-7.59 10.6-10.51 19.74-5.44 2.78 1.55 4.21 1.94 8.57 2.75 4.44.83 5.69 2.27 5.69 8.07zm-1 0c0-5.3-.9-6.34-4.88-7.08-4.45-.83-5.96-1.25-8.86-2.86-8.57-4.76-18.26-2.1-18.26 4.56 0 7.3 7.36 14.5 16 14.5h1.79c6.06.04 8.26-.14 10.36-1.1 2.6-1.2 3.85-3.6 3.85-8.02zm33.33-117.85c3.71-1.31 8.7-2.7 16.1-4.55 2.58-.65 16.53-4.04 20.56-5.05 19.59-4.93 31.55-8.9 38.23-13.35 14.93-9.95 36.87-33.88 43.83-47.8 2.25-4.5 4.65-6.38 7.68-6.25 1.26.06 2.61.45 4.32 1.2a50.81 50.81 0 0 1 3.54 1.7l1.26.63c4.78 2.34 8.38 3.44 12.65 3.44 7.2 0 10.01 3.07 8.35 7.91-1.4 4.06-5.92 8.91-11.1 12.02-8.3 4.98-11.75 17.3-11.75 33.57 0 3.59-1.37 6.28-3.98 8.36-1.98 1.58-4.2 2.6-8.47 4.16l-1.02.37c-4.85 1.75-6.98 2.77-8.68 4.46-5.09 5.1-12.54 7.15-20.35 7.15-1.38 0-2.47.92-3.99 3.1-.29.41-1.32 1.95-1.47 2.18-2.68 3.92-4.93 5.72-8.54 5.72-7.84 0-10.74.93-21.76 6.94-5.18 2.82-8.8 3.58-14.66 3.68-.26 0-.47 0-.92.02-4.82.06-7.12.3-10.51 1.34a73.43 73.43 0 0 0-8.89 3.56c-2.17 1-10.53 5.01-10.23 4.87-7.79 3.7-13.32 5.98-18.9 7.57-12.41 3.55-18.58 2.24-27.42-4.07-2.58-1.85-2.72-4.43-.83-7.62 1.45-2.45 3.9-5.09 8.08-8.97l1.78-1.64c3.92-3.6 4.48-4.11 5.9-5.53 2.32-2.32 3.12-3.5 5.48-7.63 1.93-3.36 3.37-5.11 6.27-7.06 2.3-1.54 5.34-2.98 9.44-4.43zm.34.94c-4.03 1.42-7 2.83-9.22 4.32-2.75 1.85-4.1 3.49-5.96 6.73-2.4 4.2-3.24 5.44-5.64 7.83-1.43 1.44-2 1.96-5.94 5.57l-1.77 1.63c-4.1 3.82-6.52 6.41-7.9 8.75-1.65 2.79-1.54 4.8.55 6.3 8.6 6.14 14.46 7.38 26.57 3.92 5.5-1.57 11-3.84 18.74-7.51-.3.14 8.06-3.88 10.24-4.88a74.3 74.3 0 0 1 9.01-3.6c3.51-1.09 5.89-1.33 10.8-1.4h.91c5.72-.1 9.18-.83 14.2-3.57 11.16-6.08 14.2-7.06 22.24-7.06 3.19 0 5.2-1.6 7.71-5.28l1.48-2.2c1.7-2.43 3-3.52 4.81-3.52 7.57 0 14.78-2 19.65-6.85 1.83-1.84 4.04-2.9 9.04-4.7l1.02-.37c8.6-3.13 11.79-5.67 11.79-11.58 0-16.6 3.53-29.2 12.24-34.43 5-3 9.35-7.67 10.66-11.48 1.42-4.13-.83-6.59-7.4-6.59-4.45 0-8.19-1.14-13.09-3.54-7.52-3.67-6.78-3.34-8.72-3.43-2.58-.1-4.65 1.52-6.74 5.7-7.04 14.07-29.1 38.14-44.17 48.19-6.81 4.54-18.84 8.52-38.55 13.48-4.03 1.02-17.98 4.4-20.56 5.05-7.37 1.84-12.33 3.23-16 4.52zM252 387.5c2.08 0 4-.2 7.25-.69 5.22-.77 6.64-.9 8.46-.5 2.52.56 3.79 2.35 3.79 5.69 0 4.05-2.27 7.29-6.62 10.11-3.24 2.1-6.53 3.53-14.15 6.4l-.27.1-2.28.86c-3.04 1.16-5.27 2.52-9.33 5.43l-.8.57c-8.19 5.88-13.35 8.03-23.05 8.03-4.98 0-6.88-2.03-5.75-5.62.87-2.81 3.58-6.56 7.8-11.13 1.26-1.37 2.64-2.8 4.15-4.3 3.17-3.14 11.25-10.61 11.45-10.8.46-.47.93-.89 1.4-1.26 3.38-2.71 5.77-3.08 14.18-2.93 1.65.03 2.63.04 3.77.04zm0 1c-1.15 0-2.13-.01-3.79-.04-8.18-.14-10.4.2-13.54 2.71-.44.35-.88.74-1.32 1.18-.2.21-8.3 7.69-11.45 10.82a134.6 134.6 0 0 0-4.12 4.26c-4.12 4.47-6.76 8.12-7.58 10.75-.9 2.88.45 4.32 4.8 4.32 9.46 0 14.44-2.07 22.46-7.84l.8-.57c4.13-2.96 6.42-4.36 9.56-5.56l2.3-.86.25-.1c7.55-2.84 10.8-4.25 13.97-6.3 4.08-2.65 6.16-5.6 6.16-9.27 0-2.89-.97-4.26-3-4.7-1.65-.37-3.05-.25-8.1.5-3.3.5-5.26.7-7.4.7zm112.47-45.34c-1.88 5.44-1.98 6.76-.98 12.76 1.18 7.06-1.38 16.58-5.49 16.58a16.89 16.89 0 0 0-1.51.07l-.64.04c-2.86.18-4.83.17-6.94-.17-6.55-1.06-10.41-5.14-10.41-13.44 0-13.9 2.14-19.69 8.13-26.33a21.9 21.9 0 0 0 2.52-3.75c.59-1.03 2.78-5.13 2.72-5.01 4.44-8.14 7.71-11.53 12.25-10.4 1.17.3 2.2.77 3.58 1.59l1.39.84a20 20 0 0 0 3.1 1.6c.7.27 1.8.32 4.75.26l.72-.01c3.16-.05 4.78.08 5.83.66 1.61.89 1.2 2.56-1.14 4.9a215.9 215.9 0 0 1-3.86 3.76c-10.6 10.1-12.75 12.4-14.02 16.05zm-.94-.32c1.34-3.9 3.46-6.17 14.27-16.46 1.55-1.47 2.73-2.62 3.85-3.73 1.94-1.95 2.17-2.88 1.35-3.33-.82-.45-2.37-.58-5.32-.53l-.72.01c-3.14.06-4.26.02-5.14-.34-1.06-.41-1.97-.9-3.25-1.67l-1.38-.83a12.1 12.1 0 0 0-3.31-1.47c-3.88-.97-6.92 2.17-11.13 9.9.07-.13-2.14 3.98-2.73 5.02a22.71 22.71 0 0 1-2.65 3.92c-5.81 6.47-7.87 12-7.87 25.67 0 7.79 3.48 11.47 9.57 12.45 2.01.33 3.92.34 6.71.16a371.33 371.33 0 0 0 1.23-.07c.42-.03.73-.04.99-.04 3.2 0 5.6-8.9 4.5-15.42-1.02-6.16-.91-7.64 1.03-13.24zm-9.26 12.42c.58.52 2.5 1.9 2.55 1.93 1.96 1.57 2.04 3.31.01 6.36-3.74 5.64-8.83 3.09-8.83-4.55 0-3.81.51-5.67 2.07-6.02 1.18-.26 2 .3 4.2 2.28zm-1.34 1.48c-1.5-1.35-2.23-1.85-2.43-1.8-.17.03-.5 1.23-.5 4.06 0 5.87 2.67 7.21 5.17 3.45 1.5-2.26 1.47-2.84.4-3.7.03.03-1.95-1.4-2.64-2zm222.9-130.19c2.2-1.1 3.67-1.66 5.88-2.36l.28-.09a48.92 48.92 0 0 0 8.79-3.55c4.17-2.08 6.35-1.88 6.96.84.44 2 .2 4.01-1.25 12.7-2.27 13.62-9.16 26.14-21.17 36.3-4.3 3.63-7.41 4.39-9.75 2.44-1.88-1.57-3.1-4.57-4.61-10.48-.3-1.15-1.43-5.83-1.72-6.96a114.18 114.18 0 0 0-2.71-9.22c-2.4-6.82-3.03-10.78-2.1-12.94.77-1.83 2.08-2.24 5.6-2.45 1.49-.09 2.09-.14 2.97-.28l1.95-.33c.72-.12 1.22-.2 1.68-.29 1.1-.2 1.92-.38 2.71-.6 1.7-.49 3.42-1.2 6.49-2.73zm.44.9c-3.11 1.54-4.88 2.29-6.65 2.79-.84.23-1.69.42-2.81.63a108.77 108.77 0 0 1-3.81.63c-.77.13-1.39.19-2.92.28-3.13.18-4.17.51-4.74 1.85-.78 1.84-.2 5.62 2.13 12.2a115.12 115.12 0 0 1 2.74 9.31l1.72 6.96c1.46 5.7 2.62 8.58 4.28 9.96 1.87 1.56 4.49.93 8.47-2.44 11.82-10 18.6-22.3 20.83-35.7 1.4-8.45 1.65-10.51 1.25-12.31-.41-1.87-1.86-2-5.54-.16a49.87 49.87 0 0 1-8.93 3.6l-.28.1a35.4 35.4 0 0 0-5.74 2.3zm-4.5 6.58c1.37-.32 2.5-.75 3.9-1.42.35-.18 2.57-1.31 3.32-1.67 1.5-.71 2.97-1.31 4.7-1.89 2.7-.9 4.64-.77 5.88.4.98.94 1.34 2.26 1.41 4.18.02.4.02.7.02 1.37 0 5.63-4.63 16.88-11.34 22.75-4.34 3.8-7.31 4.67-9.92 2.52-2.06-1.7-3.5-4.65-6.67-12.91-1.86-4.83-2.05-8.1-.68-10.2 1.12-1.7 2.9-2.36 5.83-2.7l1.26-.12c1.19-.12 1.75-.19 2.3-.31zm-2.1 2.3l-1.22.12c-2.4.27-3.7.76-4.39 1.81-.93 1.43-.78 4.1.87 8.38 3.02 7.84 4.41 10.71 6.08 12.09 1.63 1.34 3.64.75 7.33-2.48C584.6 250.77 589 240.08 589 235c0-.64 0-.93-.02-1.29-.05-1.44-.3-2.33-.79-2.8-.6-.57-1.8-.65-3.87.04a37.95 37.95 0 0 0-4.47 1.8c-.72.34-2.93 1.47-3.32 1.66a19.54 19.54 0 0 1-4.3 1.56c-.66.16-1.28.24-2.56.36zm-227.73-88.98c-1.59 4.3-3.54 7.25-7.14 11.4l-2.6 2.97a67.02 67.02 0 0 0-2.63 3.23 46.4 46.4 0 0 0-4.68 7.5c-2.85 5.7-7.14 10.18-12.85 13.89-4.25 2.76-8.25 4.62-15.67 7.59-11.01 4.4-16.43 1.26-27.22-16.4-2.86-4.69-8.8-8.63-17.98-12.66-3-1.33-12.88-5.24-14.43-5.92-4.96-2.18-7.04-3.72-6.42-5.85.67-2.32 5.3-4.05 15.48-6.08 16.63-3.32 26.93-3.82 39.93-3.02 7.9.49 9.67.5 12.74-.26 1.99-.48 3.92-1.3 6-2.6l2.79-1.71c9.86-6.14 12.94-7.96 17.3-9.9 6.03-2.71 10.57-3.32 13.94-1.4 7.2 4.12 7.68 7.7 3.44 19.22zm-1.88-.7c3.95-10.7 3.6-13.26-2.56-16.78-2.66-1.52-6.62-.99-12.12 1.48-4.24 1.9-7.3 3.7-17.07 9.77l-2.79 1.73a22.6 22.6 0 0 1-6.57 2.84c-3.36.81-5.22.8-13.34.3-12.84-.78-22.97-.29-39.41 3-4.9.97-8.45 1.88-10.79 2.75-2.03.76-3.04 1.45-3.17 1.91-.16.57 1.48 1.79 5.3 3.46 1.5.67 11.39 4.58 14.44 5.93 9.52 4.19 15.74 8.3 18.87 13.44 10.35 16.93 14.87 19.56 24.78 15.6 7.3-2.93 11.21-4.75 15.33-7.42 5.42-3.53 9.47-7.75 12.15-13.1 1.44-2.9 3.02-5.4 4.86-7.82a68.95 68.95 0 0 1 2.72-3.33l2.6-2.97c3.46-3.99 5.28-6.75 6.77-10.79zm-6.64-.39c-7.94 12.8-18.53 21.75-33.3 25.23-7.82 1.83-12.47-.79-13.12-5.93-.55-4.45 2.29-9.06 6-9.06 3.02 0 5.6-1.68 15.38-9.16 1.47-1.12 2.57-1.96 3.66-2.74 4.4-3.2 7.77-5.17 10.82-6.08 5.57-1.67 9.33-2.15 11.35-1.22 2.5 1.14 2.22 4.13-.79 8.96zm-.84-.52c2.72-4.4 2.94-6.74 1.21-7.53-1.71-.79-5.32-.33-10.65 1.27-2.9.87-6.2 2.79-10.51 5.92-1.08.79-2.18 1.62-3.65 2.74-10.08 7.72-12.62 9.36-15.98 9.36-3.02 0-5.5 4.02-5 7.94.56 4.5 4.62 6.78 11.89 5.07 14.48-3.4 24.86-12.18 32.69-24.77zM461.17 33.53c13.88 4.96 20.75 4.96 31.62.01 3.02-1.37 5.47-2.94 11-6.82 5.57-3.92 8.05-5.51 11.14-6.92 4.14-1.88 7.78-2.38 11.22-1.28 3.92 1.26 6.2 12.3 6.78 28.45.5 14.2-.52 28.93-2.46 34.2-1.82 4.93-5.86 8.17-11.51 10.02A41.7 41.7 0 0 1 506 93.01c-5.79 0-9 2.4-12.2 7.64-.37.59-1.55 2.6-1.71 2.87-1.75 2.9-3.05 4.33-4.93 4.95-.94.32-2.07.83-3.87 1.74l-2.43 1.23c-1.03.53-1.87.94-2.7 1.34-6.43 3.1-11.73 4.72-17.16 4.72-5.71 0-10.04 2.09-14.02 5.92-1.16 1.11-4.2 4.53-4.63 4.94-2.54 2.44-5.93 4.24-10.85 6.1-1.4.52-5.98 2.13-6.25 2.22l-2.06.78c-.89.36-1.78.63-2.7.81-5.55 1.14-11.14-.54-17.98-4.42-1.27-.73-5.13-3.06-5.76-3.42-2.05-1.16-4.12-1.53-9.09-1.9l-1.73-.15c-4.78-.4-7.68-1.14-10.22-2.97-5-3.61-6.77-7.76-5.65-12.33 1.33-5.42 6.5-11.02 14.85-17.28a169.2 169.2 0 0 1 6.5-4.61c-.33.23 4.33-2.92 5.3-3.6 2.73-1.91 4.8-3.9 12.75-12.04l1.09-1.1c3.49-3.56 5.89-5.89 8.12-7.83 2.9-2.5 4.72-5.95 7.5-13.05l.63-1.61c2.7-6.92 4.28-10 6.87-12.33 1.42-1.28 6.68-6.54 7.93-7.5 3.98-3 8.01-2.73 19.57 1.4zm-.34.94c-11.26-4.02-15-4.28-18.62-1.53-1.19.9-6.4 6.11-7.88 7.43-2.42 2.18-3.96 5.19-6.6 11.95l-.63 1.61c-2.83 7.26-4.72 10.8-7.77 13.45a141.85 141.85 0 0 0-9.16 8.87c-8.02 8.2-10.08 10.2-12.88 12.16-.99.69-5.65 3.84-5.31 3.6-2.5 1.71-4.52 3.13-6.47 4.59-8.17 6.13-13.23 11.6-14.48 16.72-1.02 4.15.58 7.9 5.26 11.27 2.36 1.7 5.11 2.4 9.72 2.8l1.73.13c5.12.4 7.28.78 9.5 2.05.65.36 4.5 2.7 5.76 3.4 6.66 3.78 12.04 5.4 17.29 4.32.86-.17 1.7-.42 2.52-.75a67 67 0 0 1 2.1-.8c.28-.1 4.86-1.7 6.24-2.22 4.8-1.8 8.08-3.56 10.5-5.88.4-.38 3.44-3.8 4.63-4.94 4.16-4 8.72-6.2 14.72-6.2 5.25 0 10.42-1.59 16.73-4.62.82-.4 1.65-.8 2.68-1.33.12-.06 1.93-.99 2.43-1.23 1.84-.93 3-1.46 4-1.8 1.6-.52 2.76-1.82 4.39-4.52l1.7-2.88c3.39-5.5 6.87-8.11 13.07-8.11 4.45 0 8.73-.49 12.64-1.77 5.4-1.76 9.2-4.8 10.9-9.41 1.87-5.11 2.9-19.75 2.39-33.83-.56-15.53-2.81-26.48-6.08-27.52-3.18-1.02-6.57-.55-10.5 1.23-3.02 1.37-5.47 2.94-11 6.83-5.57 3.92-8.05 5.5-11.14 6.92-11.13 5.05-18.26 5.05-32.38.01zM475 55c5.38 0 7.55-.21 9.72-.96 1.26-.43 9.95-4.8 14.88-6.96 1.9-.82 3.56-2.44 6.6-6.04 2.56-3.04 3.19-3.75 4.4-4.84 3.7-3.35 7.07-3.28 10.22 1.23 6.23 8.9 5.61 15.94.07 27.02a71.26 71.26 0 0 0-2.5 5.48c-.32.8-1 2.7-1.09 2.9-.17.45-.34.81-.54 1.17-.63 1.14-1.56 2.21-4.05 4.7-2.4 2.4-5.16 3.27-11.68 4.33-1.81.3-2.2.36-3 .51-6.02 1.1-9.6 2.69-12.24 6.07-3.57 4.59-7.9 7.48-14.98 10.74-.55.24-1.1.5-1.8.8l-1.78.8a60.08 60.08 0 0 0-7.7 3.9c-2.57 1.6-4.79 2.35-9.42 3.46-8.58 2.06-12.28 3.76-17.37 9.36-5.12 5.64-10.17 7.64-16.63 6.7-5.36-.79-10.63-3.01-23.56-9.48-6.3-3.15-6.43-7.78-1.5-13.56 3.38-3.94 3.52-4.06 19.4-16.44 8.12-6.33 12.97-10.57 16.63-14.88 2.53-2.98 4.2-5.73 4.96-8.3 5.5-18.3 12.5-21.98 22.78-15.56 1.95 1.22 6.61 4.55 7.18 4.9 3.36 2.15 6.52 2.95 13 2.95zm0 2c-6.84 0-10.37-.89-14.08-3.26-.63-.4-5.27-3.71-7.16-4.9-9.05-5.65-14.66-2.7-19.8 14.45-.86 2.87-2.67 5.85-5.35 9.01-3.78 4.45-8.7 8.75-16.94 15.17-15.66 12.21-15.86 12.38-19.1 16.16-4.17 4.9-4.09 8 .88 10.48 12.71 6.35 17.89 8.54 22.94 9.28 5.78.84 10.18-.9 14.87-6.06 5.42-5.96 9.45-7.82 18.38-9.96 4.43-1.07 6.5-1.76 8.83-3.22a61.7 61.7 0 0 1 7.94-4.02l1.78-.8 1.78-.8c6.82-3.13 10.91-5.87 14.24-10.14 3-3.87 7-5.64 13.46-6.82.83-.15 1.21-.21 3.04-.51 6.1-1 8.6-1.78 10.58-3.77 2.36-2.36 3.21-3.34 3.72-4.26.15-.27.29-.56.44-.94.06-.15.75-2.06 1.09-2.9.64-1.6 1.45-3.4 2.57-5.64 5.24-10.49 5.8-16.8.07-24.98-2.4-3.44-4.37-3.48-7.24-.89-1.11 1-1.73 1.7-4.22 4.65-3.24 3.85-5.04 5.59-7.32 6.59-4.82 2.1-13.62 6.53-15.03 7.01-2.44.84-4.79 1.07-10.37 1.07zm-12.7 8.6c5.47 3.9 10.34 3.72 18.23.88 5.39-1.94 5.92-2.1 7.7-2.1 2.5-.01 4.21 1.36 5.24 4.46 1.66 4.98-2.32 8.52-12.3 12.68-2.7 1.13-16.25 6.18-20 7.73-7.86 3.24-13.93 6.42-18.87 10.15-13.02 9.84-18.36 11.93-23.71 9.68a24.67 24.67 0 0 1-3.62-1.98l-1.99-1.28a90.4 90.4 0 0 0-2.24-1.4c-3.33-2-2.82-4.28.85-7.34 1.35-1.13 10.66-7.61 13.53-9.91 7.1-5.69 11.91-11.47 14.41-18.34 3.07-8.45 4.89-12.1 6.8-13.39 1.73-1.16 3.36-.53 6.18 1.9.63.56 3.4 3.08 4.11 3.7 1.93 1.7 3.71 3.15 5.67 4.55zm-.6.8c-1.98-1.42-3.79-2.88-5.74-4.6-.73-.64-3.48-3.16-4.1-3.7-2.5-2.16-3.75-2.65-4.97-1.83-1.66 1.11-3.44 4.7-6.42 12.9-2.57 7.07-7.5 12.99-14.72 18.78-2.91 2.33-12.21 8.8-13.52 9.9-3.22 2.68-3.56 4.17-.97 5.72l2.26 1.4 1.99 1.28c1.47.93 2.48 1.5 3.47 1.91 4.9 2.07 9.96.07 22.72-9.56 5.02-3.79 11.15-7 19.1-10.28 3.76-1.55 17.3-6.6 20-7.72 9.5-3.97 13.14-7.2 11.73-11.44-.9-2.71-2.25-3.8-4.3-3.79-1.6 0-2.15.17-7.36 2.05-8.17 2.94-13.34 3.14-19.16-1.01z'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: repeat;
  background-position: center top;
}

.srq-page .srq-main,
.srq-page .srq-hero,
.srq-page .srq-services,
.srq-page .srq-solutions,
.srq-page .srq-news,
.srq-page .srq-clients {
  background: transparent;
}

.srq-page .srq-hero .srq-hero-shell,
.srq-page .srq-services .srq-section-shell,
.srq-page .srq-solutions .srq-section-shell,
.srq-page .srq-news .srq-section-shell,
.srq-page .srq-clients .srq-section-shell {
  background: #fff;
}

.srq-page .srq-hero .srq-hero-shell {
  background: transparent;
}

.srq-page .srq-main::before,
.srq-page .srq-main::after,
.srq-page .srq-hero::before,
.srq-page .srq-hero::after,
.srq-page .srq-subhero::before,
.srq-page .srq-subhero::after,
.srq-page .srq-section::before,
.srq-page .srq-section::after,
.srq-page .srq-hero .srq-hero-shell::before,
.srq-page .srq-hero .srq-hero-shell::after {
  content: none;
}



@media (max-width: 1024px) {
  .srq-page {
    --srq-geo-rail-width: 0.62rem;
    --srq-geo-rail-gap: 0.16rem;
    --srq-inner-half: min(600px, calc(50vw - 20px));
  }

  .srq-page .srq-main::before,
  .srq-page .srq-main::after {
    background:
      radial-gradient(188% 38% at 10% 10%, transparent 68.4%, var(--srq-curve-line-soft) 69.3%, transparent 70.3%) 0 0 / 100% 34% no-repeat,
      radial-gradient(194% 42% at 82% 60%, transparent 71.3%, var(--srq-curve-line) 72.1%, transparent 73.1%) 0 42% / 100% 36% no-repeat,
      radial-gradient(184% 38% at 18% 104%, transparent 69.4%, var(--srq-curve-line-soft) 70.2%, transparent 71.2%) 0 78% / 100% 24% no-repeat,
      radial-gradient(circle, rgba(11, 79, 159, 0.11) 0 1px, transparent 1.7px) 42px 0 / 10px 96px repeat-y;
    opacity: 0.62;
  }

  .srq-page .srq-section {
    padding: 0.58rem 0;
  }

  .srq-page .srq-section-head {
    padding-right: 0;
  }

  .srq-page .srq-section-head::after {
    display: none;
  }

  .srq-page .srq-hero .srq-hero-shell {
    gap: 0.18rem;
  }

  .srq-page .srq-hero-slide {
    grid-template-columns: 1fr;
  }

  .srq-page .srq-news-shell,
  .srq-page .srq-editor-shell {
    grid-template-columns: 1fr;
  }

  .srq-page .srq-news-side {
    order: 2;
  }

  .srq-page .srq-hero-slide-text {
    padding: 0.42rem 0.34rem 0.36rem;
  }

  .srq-page .srq-hero-slide-media,
  .srq-page .srq-hero-track {
    min-height: 0;
  }

  .srq-page .srq-hero-slide-media {
    min-height: 3.2rem;
  }

  .srq-page .srq-subhero-shell {
    min-height: 2.5rem;
    padding: 0.3rem 0 0.28rem;
  }

  .srq-page .srq-subhero-shell::before {
    width: 2.8rem;
  }

}

@media (max-width: 768px) {
  .srq-page .srq-main::before,
  .srq-page .srq-main::after,
  .srq-page .srq-hero::before,
  .srq-page .srq-subhero::before,
  .srq-page .srq-section::before,
  .srq-page .srq-hero::after,
  .srq-page .srq-subhero::after,
  .srq-page .srq-section::after {
    content: none;
  }

  .srq-page .srq-section,
  .srq-page .srq-news {
    padding: 0.44rem 0;
  }

  .srq-page .srq-hero {
    padding: 0.24rem 0 0.22rem;
  }

  .srq-page .srq-hero-track {
    min-height: 0;
  }

  .srq-page .srq-hero h1 {
    font-size: clamp(32px, 9vw, 46px);
  }

  .srq-page .srq-hero p,
  .srq-page .srq-subhero-text p {
    font-size: 0.15rem;
    line-height: 1.68;
  }

  .srq-page .srq-hero-slide-text {
    padding: 0.34rem 0.22rem 0.28rem;
  }

  .srq-page .srq-hero-slide-media {
    min-height: 2.4rem;
  }

  
  .srq-page .srq-hero-dot {
    width: 0.48rem;
  }

  .srq-page .srq-news-shell {
    gap: 0.18rem;
  }

  .srq-page .srq-news-side-card {
    grid-template-columns: 1fr;
    height: auto;
  }

  .srq-page .srq-news-side-media {
    min-height: 2.1rem;
  }

  .srq-page .srq-news-side-text {
    padding-top: 0.14rem;
  }

  .srq-page .srq-subhero {
    padding-top: 0.18rem;
  }

  .srq-page .srq-subhero-shell {
    min-height: 0;
    padding: 1.5rem 0 0.22rem;
  }

  .srq-page .srq-subhero-shell::before {
    top: 0;
    right: 0;
    bottom: auto;
    width: 100%;
    height: 1.24rem;
  }

  .srq-page .srq-subhero-shell::after {
    right: 0.12rem;
    bottom: 0.1rem;
  }

  .srq-page .srq-subhero-text h1 {
    font-size: clamp(28px, 8.2vw, 40px);
  }

  .srq-page .srq-editor-shell {
    gap: 0.28rem;
  }

  }

/* Homepage carousel: use one composed visual with a stable, compact footprint. */
.srq-page .srq-hero-carousel {
  display: block;
  min-height: 0;
  padding: 0;
  color: #fff;
}

.srq-page .srq-hero-carousel .srq-hero-shell {
  display: block;
  width: auto;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0;
  border: 0;
  gap: 0;
}

.srq-page .srq-hero-carousel .srq-hero-track {
  height: 4.8rem;
  min-height: 0;
  overflow: hidden;
  background: var(--srq-blue-deep);
  box-shadow: 0 0.24rem 0.54rem rgba(8, 29, 72, 0.16);
}

.srq-page .srq-hero-carousel .srq-hero-slide,
.srq-page .srq-hero-carousel .srq-hero-slide.is-active {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  background: var(--srq-blue-deep);
}

.srq-page .srq-hero-carousel .srq-hero-slide-media {
  position: absolute;
  inset: 0;
  min-height: 0;
}

.srq-page .srq-hero-carousel .srq-hero-slide-media::after {
  background:
    linear-gradient(90deg, rgba(4, 13, 35, 0.54) 0%, rgba(5, 18, 48, 0.28) 38%, rgba(5, 18, 48, 0.16) 68%, rgba(5, 18, 48, 0.12) 100%),
    linear-gradient(180deg, rgba(5, 18, 48, 0.06), rgba(5, 18, 48, 0.18));
}

.srq-page .srq-hero-carousel .srq-hero-slide-text {
  /* herotextwidth 2026-11-02 (user: "该区域内容宽度需要增加，EN 环境下最长的
     标题占了 4 行"): 8.6rem used to cap the BORDER box, so the canvas gutter —
     which grows once the 13.2rem canvas cap binds at ~1746px — was subtracted
     from the inside. Measured text measure: 502px @1920, 438px @2048 (2K at
     125%), 182px @2560. The EN lead headline (natural 1335.8px @48px) tore
     into 4 lines @2048 and 7 @2560; even the zh standfirst folded to 6 lines
     @2560. Gutter and measure now share one variable, so 8.6rem is a true
     CONTENT measure: border width = gutter + 8.6rem + 0.576rem right pad.
     The min(70%, …) slide guard stays (it binds <=~1250px, where geometry is
     byte-identical to before). Vertical pin unaffected — herodrift centers
     the margin box, so a different line count grows symmetrically about the
     fixed centerline. */
  --srq-hero-gutter: calc((100% - min(75.6%, 13.2rem)) / 2);
  width: min(70%, calc(var(--srq-hero-gutter) + 9.176rem));
  height: 100%;
  min-height: 0;
  /* herodrift 2026-10-20: the block hangs off a fixed centerline, not the
     box top. It used to anchor at padding-top (fluid clamp(56px, 4.05vw,
     77.76px)), so once herotextfluid made the type fluid the whole block
     shrank toward the top-left corner (measured center drift 35.8px up by
     1280px). justify-content:center + pb = 2*(240 - 146.65) = 1.867rem pins
     the @1920 margin-box center (146.65px band-local), so 1920px renders
     pixel-identical and narrower viewports shrink symmetrically in place.
     The EN face pins its own (taller) centerline in a desktop-scoped block
     below; the <=1024 band restores flex-start. */
  justify-content: center;
  /* heroclipfix 2026-10-20: the generic .srq-hero-slide-text overflow:hidden
     acts as a text guillotine here — this width-capped box (860px) is
     narrower than the longest nowrap headline once C1 pinned it to the
     canvas (avail 502px vs 564px needed @1920; worse above ~1850px as the
     canvas cap pushes padding-left out while the box cap stays put). The
     box is transparent and draws nothing, so let the headline escape it;
     the slide itself still crops the photo. */
  overflow: visible;
  /* herotextanchor 2026-10-20 (C1): headline left edge rides the site canvas —
     mirrors html body .srq-page .srq-inner (percentage bands + 13.2rem cap,
     same 1800/1680 breakpoints). The old uncapped vw ladder predated the
     10-10 canvas cap, so above 1466px the headline kept drifting (234px @1920
     → 55px @1100, with step jumps at 1800/1680) while every canvas-aligned
     element pinned at 1320. The padding % resolves against the full-bleed
     slide (the parent), so 100% == viewport width even though this box is
     itself width-capped; <=1466px geometry is unchanged (the cap never
     binds). */
  /* herotextfluid 2026-10-20 padding-top fluid retired by herodrift (see
     justify-content above): the top clamp is gone, pb carries the pin.
     Left anchor and the 1800/1680 padding-left bands below are untouched (C1). */
  padding: 0 0.576rem 1.867rem var(--srq-hero-gutter);
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

/* C1 canvas mirror bands. These now move the gutter variable, not
   padding-left alone — the width formula consumes the same variable, so the
   measure and the anchor can never disagree again (herotextwidth). */
@media (max-width: 1800px) {
  .srq-page .srq-hero-carousel .srq-hero-slide-text {
    --srq-hero-gutter: calc((100% - min(85%, 13.2rem)) / 2);
  }
}

@media (max-width: 1680px) {
  .srq-page .srq-hero-carousel .srq-hero-slide-text {
    --srq-hero-gutter: calc((100% - min(90%, 13.2rem)) / 2);
  }
}

.srq-page .srq-hero-carousel .srq-hero-slide-text::before {
  display: none;
}

.srq-page .srq-hero-carousel .srq-hero-slide-text h1 {
  max-width: none;
  /* heroclipfix 2026-10-20: nowrap headline sizes itself to its text and
     escapes the width-capped text box (which no longer clips — overflow
     above). The <=1024 bands and the EN face restore width:auto. */
  width: max-content;
  margin: 0.14rem 0 0.16rem;
  color: #fff;
  /* herotextfluid 2026-10-20: fluid headline — ceiling == the old 0.4896rem
     pin (1920px unchanged), 2.55vw mid-ramp, 34px readability floor.
     2026-11-02 type bump (user): 34/2.55vw/48.96 → 36/2.9vw/56
     (+14% at 1440, +11% at 1920). herodrift's centerline pin is unaffected —
     justify-content:center grows the block symmetrically about 146.65px, the
     pin does not depend on the type size. */
  font-size: clamp(36px, 2.9vw, 56px);
  line-height: 1.08;
  text-shadow: 0 2px 0.14rem rgba(4, 13, 35, 0.22);
  white-space: nowrap;
}

.srq-page .srq-hero-carousel .srq-hero-slide-text p {
  /* herotextfluid 2026-10-20: fluid standfirst — 0.16rem→clamp(12.5px,
     0.8333vw, 16px); max-width in em (35em == old 5.6rem @16px) so the
     measure follows the font size instead of pinning at 560px.
     2026-11-02 type bump (user): 12.5/0.8333vw/16 → 15/0.9375vw/18. The 15px
     floor also removes the old 769–1024 sag (12.5px under a 15px phone rule). */
  max-width: 35em;
  color: #fff;
  font-size: clamp(15px, 0.9375vw, 18px);
  line-height: 1.72;
  text-shadow: 0 2px 0.14rem rgba(4, 13, 35, 0.18);
}


.srq-page .srq-hero-carousel .srq-btn {
  min-height: 0.46rem;
  padding: 0 0.22rem;
  border-radius: 0;
}

.srq-page .srq-hero-carousel .srq-btn-primary {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.92);
  background: rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

.srq-page .srq-hero-carousel .srq-btn-primary:hover,
.srq-page .srq-hero-carousel .srq-btn-primary:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, 0.22);
}

.srq-page .srq-hero-carousel .srq-btn-ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.04);
}

.srq-page .srq-hero-carousel .srq-btn-ghost:hover,
.srq-page .srq-hero-carousel .srq-btn-ghost:focus-visible {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.92);
  background: rgba(255, 255, 255, 0.16);
}

/* Carousel controls: prev/next arrows float at the vertical center of the
   image's left and right edges; the dots form a plain row beneath the image. */




.srq-page .srq-hero-carousel .srq-hero-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.28rem;
  z-index: 6;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.1rem;
  padding: 0;
  background: transparent;
  backdrop-filter: none;
}

.srq-page .srq-hero-carousel .srq-hero-dot {
  width: 0.56rem;
  height: 0.12rem;
  background: rgba(255, 255, 255, 0.42);
}

.srq-page .srq-hero-carousel .srq-hero-dot.is-active {
  background: #fff;
}

@media (max-width: 1024px) {
  .srq-page .srq-hero-carousel .srq-hero-track {
    height: clamp(360px, 48vw, 480px);
  }

  .srq-page .srq-hero-carousel .srq-hero-slide-text {
    width: min(68%, 6.6rem);
    /* mobilecenter2 2026-11-02 (user: "一并统一成居中"): this was the last band
       that did not center — herodrift had pinned it to flex-start so the base
       block's center could not leak in, which left the block at 10.4% of the
       band @1024 and 11.6% @900 while >=1025 and <=768 both center. Now all
       three bands share the same idiom: the block's center is 47% of the band
       (the 0.36rem/0.58rem padding asymmetry lifts it 11px above the geometric
       middle, matching the <=768 band's 18px). No scrim change needed here —
       this band paints no vertical scrim at all, and the media ::after is a
       left-weighted horizontal one, so moving the block down the band does not
       change what sits behind it (contrast measured, not assumed). */
    justify-content: center;
    padding: 0.36rem 0.34rem 0.58rem 0.2rem;
  }

  .srq-page .srq-hero-carousel .srq-hero-slide-text h1 {
    /* 2026-11-02 type bump (user): 28/3.5vw/46 → 30/3.5vw/48. The ramp is
       untouched, so only the 769–856 floor and the 46px ceiling move. */
    font-size: clamp(30px, 3.5vw, 48px);
    /* heroclipfix 2026-10-20: keep middle-band geometry frozen (no
       max-content shrink-wrap; this band never clipped). */
    width: auto;
  }
}

html[lang^="en"] .srq-page .srq-hero-carousel .srq-hero-slide-text h1 {
  /* 2026-11-02 type bump (user): 24/2.8vw/44 → 28/3.1vw/48. The 24px floor
     was the smallest headline on the site (it wins over the <=768 band on
     specificity, so EN phones rendered 24px while zh rendered 35–46px). */
  font-size: clamp(28px, 3.1vw, 48px);
  letter-spacing: 0.01em;
  white-space: normal;
  /* heroclipfix 2026-10-20: normal wrapping must keep measuring against the
     text box — width:max-content would flatten EN headlines into one long
     line. */
  width: auto;
}

/* typesteps 2026-11-02 (user: "大多数情况下字号不变，页宽窄到一定程度时字号
   缩小，也就是能分阶段来调整字号，而不是窄一点字号缩小一遍"). The desktop
   bands were continuous vw ramps, so the headline changed size on every pixel
   of viewport while the 480px band never moved — the type/band ratio drifted
   7.7% @1280 → 11.7% @1931 with no stable reading. Three FLAT steps replace
   the ramps from 1025px up. The <=1024 / <=768 bands keep their ramps: there
   the band is clamp(360px, 48vw, 480px), i.e. already viewport-proportional,
   which is the one case where fluid type and fluid band stay in step.
   Step points come from the measure, not from taste. The carousel measure is
   0.65w-57.6 below 1412px and pins at 860px above it (herotextwidth), and
   @1920 the zh headline occupies exactly 645.1/860 = 75% of it — so 860px is
   where that fill stops being reachable and the ladder steps down. Measured
   natural widths (probe-type-ladder): zh longest 645.1px @56, EN longest
   1335.8px @48 (2 lines).
     >=1440     zh 56 / en 48 / p 18   measure 860      zh fill 75%
     1200-1439  zh 48 / en 42 / p 17   measure 722-860  zh fill 64-77%
     1025-1199  zh 40 / en 36 / p 16   measure 609-722  zh fill 64-76%
   Every band keeps zh on one line and EN on two (probe-type-steps asserts the
   size, the line counts, the no-clip and the no-hscroll, per width).
   No vertical re-pin needed: herodrift centers the margin box, so a step grows
   the block symmetrically about the fixed centerline — the flow center is
   invariant across all three bands (asserted, not assumed). */
@media (min-width: 1440px) {
  .srq-page .srq-hero-carousel .srq-hero-slide-text h1 { font-size: 56px; }
  .srq-page .srq-hero-carousel .srq-hero-slide-text p { font-size: 18px; }
}

@media (min-width: 1200px) and (max-width: 1439px) {
  .srq-page .srq-hero-carousel .srq-hero-slide-text h1 { font-size: 48px; }
  .srq-page .srq-hero-carousel .srq-hero-slide-text p { font-size: 17px; }
}

@media (min-width: 1025px) and (max-width: 1199px) {
  .srq-page .srq-hero-carousel .srq-hero-slide-text h1 { font-size: 40px; }
  .srq-page .srq-hero-carousel .srq-hero-slide-text p { font-size: 16px; }
}

/* EN headlines are shorter per line but wrap, so they ride the same step
   points at their own sizes: 48 == the old ramp ceiling (1920 unchanged),
   and 42/36 are the largest steps that still hold two lines at the narrow end
   of each band (measured 1.62 and 1.65 line-widths). */
@media (min-width: 1440px) {
  html[lang^="en"] .srq-page .srq-hero-carousel .srq-hero-slide-text h1 { font-size: 48px; }
}

@media (min-width: 1200px) and (max-width: 1439px) {
  html[lang^="en"] .srq-page .srq-hero-carousel .srq-hero-slide-text h1 { font-size: 42px; }
}

@media (min-width: 1025px) and (max-width: 1199px) {
  html[lang^="en"] .srq-page .srq-hero-carousel .srq-hero-slide-text h1 { font-size: 36px; }
}

@media (min-width: 1025px) {
  html[lang^="en"] .srq-page .srq-hero-carousel .srq-hero-slide-text {
    /* herodrift 2026-10-20: EN headlines wrap to 3 lines @1920, so the EN
       block is taller and hangs from its own centerline — @1920 margin-box
       center 191.53px band-local, pb = 2*(240 - 191.53) = 0.969rem. Same
       contract as the zh pin: 1920px identical, narrower shrinks in place.
       Desktop-scoped so the band padding shorthands stay authoritative
       <=1024. */
    padding-bottom: 0.969rem;
  }
}

/* navlogo (2026-10-20): EN-only search relief band. At the new desktop floor
   (1025-1129) the EN menu floor (659.2px measured, nowrap links) + logo 204
   + tools leave no room for the search icon — @1025 inner is 945px and the
   trio without search measures 943px. zh (menu floor 562px) keeps its
   search; EN recovers it at >=1130. */
@media (min-width: 1025px) and (max-width: 1129px) {
  html[lang^="en"] .srq-page .srq-header-search {
    display: none;
  }
}

@media (max-width: 768px) {
  .srq-page .srq-hero-carousel {
    padding: 0;
  }

  /* Overlay restored (2026-09-14): at ~500px the stacked "photo above, navy
     text panel below" split read as two detached blocks. Text overlays the
     photo again (desktop idiom), bottom-anchored over a vertical scrim.
     Track height/overflow/photo geometry inherit the carousel layers above
     (fixed height, object-fit cover, hidden overflow). */
  .srq-page .srq-hero-carousel .srq-hero-slide,
  .srq-page .srq-hero-carousel .srq-hero-slide.is-active {
    position: absolute;
    inset: 0;
  }

  .srq-page .srq-hero-carousel .srq-hero-slide-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: none;
  }

  .srq-page .srq-hero-carousel .srq-hero-slide-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    /* mobilecenter 2026-11-02 (user: "≤768（及移动端）首页 srq-hero-slide-text
       会处于该区域的下方位置，需要修改"). flex-end pinned the block to the
       bottom: measured 34-82% of the band @390/560 and 50-82% @768, i.e. the
       whole lower half, while the desktop face is center-pinned (herodrift).
       flex-end → center moves the block to 23-70% / 31-63% — same centerline
       idiom as desktop, still clear of the dots (93-96%).
       The scrim moves with it: the old stops (0 @28%, .5 @60%, .85 @100%)
       were tuned for a bottom-anchored block, and centering alone drops the
       composited #fff contrast from 6.6-8.2:1 to 5.2-5.3:1 (worst row 2.5:1 →
       1.9:1). Shifting the first two stops up by 11 points (17% / 49%) restores
       6.5-6.8:1 with the block's top edge still 6% below the clean photo area
       (probe-hero-mobile-center measures the composited contrast, not the raw
       pixels). */
    justify-content: center;
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    padding: 0.3rem 0.22rem 0.66rem calc((100vw - min(100vw - 0.28rem, 6.4rem)) / 2);
    background: linear-gradient(180deg, rgba(5, 18, 48, 0) 17%, rgba(5, 18, 48, 0.5) 49%, rgba(5, 18, 48, 0.85) 100%);
  }

  .srq-page .srq-hero-carousel .srq-hero-slide-text h1 {
    margin: 0.12rem 0 0.14rem;
    /* 2026-11-02 type bump (user): 32/9vw/46 → 34/9vw/48. */
    font-size: clamp(34px, 9vw, 48px);
    white-space: normal;
    /* heroclipfix 2026-10-20: normal wrap needs width:auto (see EN note). */
    width: auto;
  }

  .srq-page .srq-hero-carousel .srq-hero-slide-text p {
    /* 2026-11-02 type bump (user): 0.15rem → 0.16rem. Scoped to the carousel
       so the shared `.srq-hero p, .srq-subhero-text p` rule above keeps the
       rest of the site at 15px. */
    font-size: 0.16rem;
    line-height: 1.68;
  }

  .srq-page .srq-hero-carousel .srq-btn {
    min-height: 0.44rem;
    padding: 0 0.18rem;
  }

  .srq-page .srq-hero-carousel .srq-hero-dots {
    bottom: 0.14rem;
    padding: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .srq-page .srq-hero-carousel .srq-hero-slide,
  .srq-page .srq-hero-carousel .srq-hero-dot {
    transition: none;
  }
}



@media (max-width: 768px) {
  .srq-page .srq-footer .srq-footer-bottom {
      --srq-footer-qr-size: 1.16rem;
    --srq-footer-art-lift: 0px;
    margin: 0;
    min-height: 2.2rem;
  }

  .srq-page .srq-footer-shell {
    padding-top: 0.1rem;
    padding-bottom: 0.12rem;
  }

  .srq-page .srq-footer-grid {
    grid-template-columns: 1fr;
    gap: 0.24rem;
  }

  .srq-page .srq-footer-links,
  .srq-page .srq-footer-qr {
    width: 100%;
  }

  .srq-page .srq-footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-left: 0;
    padding-top: 0;
  }

  .srq-page .srq-footer-qr {
    justify-items: start;
    text-align: left;
    padding-top: 0;
    width: var(--srq-footer-qr-size);
    max-width: var(--srq-footer-qr-size);
  }

  .srq-page .srq-footer-legal-band {
    padding-top: 0.1rem;
  }
}

@media (max-width: 560px) {
  .srq-page .srq-footer-links {
    grid-template-columns: 1fr;
  }

  .srq-page .srq-footer-qr {
    width: var(--srq-footer-qr-size);
  }
}

@media (max-width: 1024px) {

}

@media (max-width: 768px) {

}

@media (min-width: 769px) {

}

@media (min-width: 769px) {

}

body.home .srq-page .srq-section-head--home {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, max-content) minmax(0, 1fr);
  align-items: end;
  gap: 0.3456rem;
  margin-bottom: 0.3312rem;
  padding: 0 0 0 0.0792rem;
  text-align: left;
}

body.home .srq-page .srq-section-head--home::after {
  content: "";
  position: static;
  right: auto;
  bottom: auto;
  display: block;
  width: auto;
  height: 1px;
  margin-bottom: 0.08rem;
  background: linear-gradient(90deg, rgba(11, 79, 159, 0.78) 0%, rgba(11, 79, 159, 0.24) 42%, rgba(11, 79, 159, 0.08) 78%, rgba(11, 79, 159, 0) 100%);
}

body.home .srq-page .srq-section-head--home .srq-section-head-text {
  display: grid;
  gap: 0.08rem;
  min-width: 0;
  max-width: 5.6rem;
}

body.home .srq-page .srq-section-head--home h2 {
  margin: 0;
  color: #18283d;
  font-size: 0.34rem;
  line-height: 1.14;
  font-weight: 700;
  letter-spacing: -0.024em;
}

body.home .srq-page .srq-section-head--home p {
  margin: 0;
  max-width: 5.2rem;
  color: #69778a;
  font-size: 0.14rem;
  line-height: 1.75;
}

@media (max-width: 1024px) {
  body.home .srq-page .srq-section-head--home {
    gap: 0.18rem;
    margin-bottom: 0.22rem;
    padding-left: 2px;
  }

  body.home .srq-page .srq-section-head--home h2 {
    font-size: clamp(24px, 3vw, 30px);
  }

  body.home .srq-page .srq-section-head--home::after {
    margin-bottom: 0.07rem;
  }
}

@media (max-width: 768px) {
  body.home .srq-page .srq-section-head--home {
    grid-template-columns: 1fr;
    gap: 0.12rem;
    margin-bottom: 0.18rem;
    padding-left: 0;
  }

  body.home .srq-page .srq-section-head--home::after {
    width: min(42vw, 180px);
    margin-bottom: 0;
  }

  body.home .srq-page .srq-section-head--home .srq-section-head-text {
    gap: 0.07rem;
    max-width: 100%;
  }

  body.home .srq-page .srq-section-head--home h2 {
    font-size: clamp(22px, 6vw, 28px);
    line-height: 1.18;
  }

  body.home .srq-page .srq-section-head--home p {
    font-size: 0.13rem;
    line-height: 1.72;
  }
}

body.home .srq-page .srq-solutions {
  padding: 0.56rem 0 0.6rem;
}

@media (max-width: 1024px) {

}

@media (max-width: 768px) {
  body.home .srq-page .srq-solutions {
    padding: 0.52rem 0 0.56rem;
  }

}

body.home .srq-page .srq-solutions {
  padding: 0.6rem 0 0.64rem;
}



@media (max-width: 1024px) {

}

@media (max-width: 768px) {
  body.home .srq-page .srq-solutions {
    padding: 0.54rem 0 0.58rem;
  }

}

/* --- homepage international insights unified editorial list --- */

body.home .srq-page .srq-news {
  padding: 0.58rem 0 0.6rem;
}

body.home .srq-page .srq-news .srq-section-head--home {
  margin-bottom: 0.18rem;
}

body.home .srq-page .srq-news-shell {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(3.4rem, 4fr);
  gap: 0.14rem;
  align-items: stretch;
}

body.home .srq-page .srq-news-main,
body.home .srq-page .srq-news-side {
  min-width: 0;
}

body.home .srq-page .srq-news-editorial {
  display: flex;
  min-width: 0;
}

body.home .srq-page .srq-news-editorial-list {
  display: grid;
  width: 100%;
  align-content: start;
  padding: 0;
  border-top: 1px solid rgba(19, 34, 56, 0.06);
  border-bottom: 1px solid rgba(19, 34, 56, 0.06);
}

body.home .srq-page .srq-news-story {
  position: relative;
  display: grid;
  grid-template-columns: 1.82rem minmax(0, 1fr);
  gap: 0.18rem;
  align-items: start;
  padding: 0.11rem 0 0.11rem 1px;
  cursor: pointer;
}

body.home .srq-page .srq-news-story + .srq-news-story {
  border-top: 1px solid rgba(19, 34, 56, 0.06);
}

body.home .srq-page .srq-news-story::before {
  content: "";
  position: absolute;
  inset: 0 -2px;
  background: linear-gradient(90deg, rgba(11, 79, 159, 0.05) 0%, rgba(11, 79, 159, 0) 74%);
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

body.home .srq-page .srq-news-story:hover::before,
body.home .srq-page .srq-news-story:focus-within::before {
  opacity: 1;
}

body.home .srq-page .srq-news-story-media {
  min-width: 0;
}

body.home .srq-page .srq-news-story-thumb {
  position: relative;
  display: block;
  aspect-ratio: 1.56 / 1;
  overflow: hidden;
  background: #f6f8fb;
  box-shadow: none;
}

body.home .srq-page .srq-news-story-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  background: #f6f8fb;
  object-fit: contain;
  object-position: center center;
  transition: transform 0.45s ease;
}

body.home .srq-page .srq-news-story:hover .srq-news-story-thumb img,
body.home .srq-page .srq-news-story:focus-within .srq-news-story-thumb img {
  transform: scale(1.03);
}

body.home .srq-page .srq-news-story-body {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 0.05rem;
  padding-right: 2px;
  padding-top: 0;
}

body.home .srq-page .srq-news-story-heading {
  display: flex;
  align-items: baseline;
  gap: 0.12rem;
  min-width: 0;
}

body.home .srq-page .srq-news-story-body h3 {
  margin: 0;
  min-width: 0;
  flex: 1;
  font-size: 0.2rem;
  line-height: 1.28;
  font-weight: 700;
  letter-spacing: -0.018em;
}

body.home .srq-page .srq-news-story-body h3 a {
  display: block;
  color: var(--srq-ink);
  text-decoration: none;
  transition: color 0.2s ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.home .srq-page .srq-news-story:hover h3 a,
body.home .srq-page .srq-news-story h3 a:hover,
body.home .srq-page .srq-news-story h3 a:focus-visible {
  color: var(--srq-blue);
}

body.home .srq-page .srq-news-date {
  flex: 0 0 auto;
  color: #6f8096;
  /* 2026-11-02 typebump-r2: 13 → 14px, the meta tier the reference uses
     under every region (its dates render 14px against 16px body). */
  font-size: 0.14rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

body.home .srq-page .srq-news-excerpt {
  min-width: 0;
}

body.home .srq-page .srq-news-side {
  display: flex;
}

body.home .srq-page .srq-news-side-card {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  flex: 1;
  min-height: 0;
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  background: #ffffff;
  border: none;
  box-shadow: none;
}

body.home .srq-page .srq-news-side-media {
  position: relative;
  min-height: 0;
  aspect-ratio: 1.88 / 1;
  overflow: hidden;
  border: 0;
  background: #f6f8fb;
}

body.home .srq-page .srq-news-side-media::after {
  content: none;
}

body.home .srq-page .srq-news-side-media img {
  width: 100%;
  height: 100%;
  display: block;
  background: #f6f8fb;
  object-fit: contain;
  object-position: center top;
  transition: transform 0.5s ease;
}

body.home .srq-page .srq-news-side-card:hover .srq-news-side-media img,
body.home .srq-page .srq-news-side-card:focus-visible .srq-news-side-media img {
  transform: scale(1.01);
}

body.home .srq-page .srq-news-side-text {
  display: grid;
  gap: 0.1rem;
  align-content: start;
  min-height: 100%;
  padding: 0.16rem 0.18rem 0.16rem;
}

body.home .srq-page .srq-news-side-text h3 {
  margin: 0;
  max-width: none;
  color: var(--srq-ink);
  font-size: 0.23rem;
  line-height: 1.28;
  font-weight: 700;
  letter-spacing: -0.02em;
}

body.home .srq-page .srq-news-side-text p {
  margin: 0;
  max-width: none;
  color: #607188;
  /* 2026-11-02 typebump-r2: 13 → 15px. A 23px heading over 13px copy is a
     10px jump; the reference keeps region copy at body size (16) under a
     20–24px title. 15px lands the pair at a 1.53 ratio. */
  font-size: 0.15rem;
  line-height: 1.72;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

body.home .srq-page .srq-news-side-link {
  display: inline-flex;
  align-items: center;
  gap: 0.05rem;
  justify-self: end;
  align-self: end;
  width: fit-content;
  margin-top: auto;
  color: var(--srq-blue-deep);
  /* 2026-11-02 typebump-r2: 12 → 14px (link tier, reference runs 16px). */
  font-size: 0.14rem;
  font-weight: 700;
}

body.home .srq-page .srq-news-empty {
  padding: 0.28rem 0;
  border-top: 1px solid rgba(19, 34, 56, 0.1);
  border-bottom: 1px solid rgba(19, 34, 56, 0.1);
}



@media (max-width: 980px) {
  body.home .srq-page .srq-news-shell {
    grid-template-columns: 1fr;
    gap: 0.14rem;
  }

  body.home .srq-page .srq-news-side {
    order: 2;
  }

  body.home .srq-page .srq-news-side-card {
    min-height: 0;
  }

  body.home .srq-page .srq-news-side-media {
    aspect-ratio: 2.1 / 1;
  }

  body.home .srq-page .srq-news-side-text h3 {
    font-size: 0.21rem;
  }
}

@media (max-width: 768px) {
  body.home .srq-page .srq-news {
    padding: 0.44rem 0 0.46rem;
  }

  body.home .srq-page .srq-news-story {
    grid-template-columns: 1.26rem minmax(0, 1fr);
    gap: 0.12rem;
    padding: 0.14rem 0;
    align-items: start;
  }

  body.home .srq-page .srq-news-story-thumb {
    aspect-ratio: 1.46 / 1;
  }

  body.home .srq-page .srq-news-story-body h3 {
    font-size: 0.17rem;
    line-height: 1.34;
  }

  body.home .srq-page .srq-news-story-heading {
    display: grid;
    gap: 0.04rem;
  }

  body.home .srq-page .srq-news-date {
    /* 2026-11-02 typebump-r2: 0.12 → 0.13rem (the old 12px undercut the
       14px site meta floor by two steps on phones). */
    font-size: 0.13rem;
  }

  body.home .srq-page .srq-news-side-card {
    min-height: 0;
  }

  body.home .srq-page .srq-news-side-media {
    aspect-ratio: 1.82 / 1;
  }

  body.home .srq-page .srq-news-side-text {
    gap: 0.08rem;
    padding: 0.14rem 0.14rem 0.14rem;
  }

  body.home .srq-page .srq-news-side-text h3 {
    font-size: 0.19rem;
  }

  body.home .srq-page .srq-news-side-text p,
  body.home .srq-page .srq-news-side-link {
    /* 2026-11-02 typebump-r2: 0.12 → 0.13rem; keeps the mobile side card one
       step under the mobile body (14px excerpt) instead of two. */
    font-size: 0.13rem;
  }
}

.srq-page .srq-editor-shell--news-archive {
  display: block;
}

.srq-page .srq-editor-content--news-archive,
.srq-page .srq-editor-content--news-article {
  min-width: 0;
}

.srq-page .srq-news-table {
  padding: 0 0 0.34rem;
}

.srq-page .srq-news-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.18rem;
  min-width: 0;
}

.srq-page .srq-news-filter-query {
  display: block;
  position: relative;
  flex: 0 0 2.8rem;
  width: 2.8rem;
  height: 0.46rem;
  line-height: 0;
}

.srq-page .srq-news-filter-query::after {
  position: absolute;
  top: 50%;
  right: 0.14rem;
  width: 0.17rem;
  height: 0.17rem;
  content: "";
  pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.8' cy='10.8' r='5.8' fill='none' stroke='%23758496' stroke-linecap='round' stroke-width='1.8'/%3E%3Cpath d='m15.1 15.1 4.1 4.1' fill='none' stroke='%23758496' stroke-linecap='round' stroke-width='1.8'/%3E%3C/svg%3E") center / contain no-repeat;
  transform: translateY(-50%);
}

.srq-page .srq-news-filter input {
  box-sizing: border-box;
  width: 100%;
  height: 0.46rem;
  padding: 0 0.4rem 0 0.14rem;
  color: var(--srq-ink);
  font: inherit;
  font-size: 0.15rem;
  line-height: 0.46rem;
  border: 1px solid #d9e0e8;
  border-radius: 0.03rem;
  background: #fff;
  outline: 0;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.srq-page .srq-news-filter-query input {
  display: block;
}

.srq-page .srq-news-filter input::placeholder {
  color: #8491a0;
}

.srq-page .srq-news-filter input:hover,
.srq-page .srq-news-filter input:focus {
  border-color: rgba(11, 79, 159, 0.7);
  background: #fff;
  box-shadow: 0 0 0 2px rgba(11, 79, 159, 0.08);
}

.srq-page .srq-news-filter-dates {
  display: block;
  position: relative;
  flex: 0 1 3.8rem;
  min-width: 3rem;
  height: 0.46rem;
}

.srq-page .srq-news-filter-date-trigger {
  display: flex;
  position: relative;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  height: 0.46rem;
  padding: 0 0.42rem 0 0.36rem;
  color: var(--srq-ink);
  font: inherit;
  font-size: 0.15rem;
  line-height: 0.46rem;
  text-align: center;
  cursor: pointer;
  border: 1px solid #d9e0e8;
  border-radius: 0.03rem;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4.5' y='5.8' width='15' height='13.2' rx='1.5' fill='none' stroke='%23758496' stroke-width='1.8'/%3E%3Cpath d='M8 3.8v4M16 3.8v4M4.5 10.2h15' fill='none' stroke='%23758496' stroke-linecap='round' stroke-width='1.8'/%3E%3C/svg%3E") 0.13rem center / 0.17rem 0.17rem no-repeat;
  outline: 0;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.srq-page .srq-news-filter-date-trigger:hover,
.srq-page .srq-news-filter-date-trigger:focus-visible,
.srq-page .srq-news-filter-dates.is-open .srq-news-filter-date-trigger {
  border-color: rgba(11, 79, 159, 0.7);
  box-shadow: 0 0 0 2px rgba(11, 79, 159, 0.08);
}

.srq-page .srq-news-filter-date-value {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  color: var(--srq-ink);
  line-height: 0.46rem;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.srq-page .srq-news-filter-date-value.is-placeholder {
  color: #8794a4;
}

.srq-page .srq-news-filter-date-separator {
  flex: 0 0 auto;
  padding: 0 0.08rem;
  color: #8a97a7;
  font-size: 0.15rem;
  line-height: 0.46rem;
}

.srq-page .srq-news-filter-date-reset {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 0.08rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.22rem;
  height: 0.22rem;
  padding: 0;
  cursor: pointer;
  border: 0;
  border-radius: 2px;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.5 7.1A8 8 0 1 0 20 12' fill='none' stroke='%23758496' stroke-linecap='round' stroke-width='1.8'/%3E%3Cpath d='M18.5 3.9v3.5H15' fill='none' stroke='%23758496' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'/%3E%3C/svg%3E") center / 0.16rem 0.16rem no-repeat;
  outline: 0;
  transform: translateY(-50%);
  transition: background-color 0.2s ease;
}

.srq-page .srq-news-filter-date-reset:hover,
.srq-page .srq-news-filter-date-reset:focus-visible {
  background-color: #e1efff;
  outline: 0;
}

.srq-page .srq-news-filter-date-reset[hidden] {
  display: none;
}

.srq-page .srq-news-date-picker {
  position: absolute;
  z-index: 100;
  top: calc(100% + 0.12rem);
  right: 0;
  box-sizing: border-box;
  width: 6.38rem;
  padding: 0.12rem;
  border: 1px solid #c5dbf4;
  border-radius: 0.03rem;
  background: #fff;
  box-shadow: 0 0.14rem 0.32rem rgba(15, 111, 214, 0.16);
}

.srq-page .srq-news-date-picker[hidden] {
  display: none;
}

.srq-page .srq-news-date-picker::before {
  position: absolute;
  top: -0.06rem;
  right: 0.34rem;
  width: 0.1rem;
  height: 0.1rem;
  content: "";
  border-top: 1px solid #c5dbf4;
  border-left: 1px solid #c5dbf4;
  background: #fff;
  transform: rotate(45deg);
}

.srq-page .srq-news-date-picker.is-left-aligned {
  right: auto;
  left: 0;
}

.srq-page .srq-news-date-picker.is-left-aligned::before {
  right: auto;
  left: 0.34rem;
}

.srq-page > .srq-news-date-picker.is-portal {
  position: fixed;
  z-index: 2000;
  right: auto;
  margin: 0;
}

.srq-page > .srq-news-date-picker.is-portal::before {
  left: 0.3rem;
  right: auto;
}

.srq-page .srq-news-date-picker-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.srq-page .srq-news-date-calendar {
  min-width: 0;
  padding: 0 0.12rem;
}

.srq-page .srq-news-date-calendar + .srq-news-date-calendar {
  border-left: 1px solid rgba(15, 111, 214, 0.16);
}

.srq-page .srq-news-date-calendar-header {
  display: grid;
  grid-template-columns: minmax(0.64rem, 1fr) auto minmax(0.64rem, 1fr);
  align-items: center;
  min-height: 0.36rem;
  margin-bottom: 0.04rem;
}

.srq-page .srq-news-date-calendar-header h3 {
  margin: 0;
  color: var(--srq-ink);
  font-size: 0.14rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}

.srq-page .srq-news-date-calendar-actions {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.srq-page .srq-news-date-calendar-actions.is-next,
.srq-page .srq-news-date-calendar-actions.is-mobile-next {
  justify-content: flex-end;
}

.srq-page .srq-news-date-calendar-actions.is-mobile-next {
  display: none;
}

.srq-page .srq-news-date-calendar-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.26rem;
  height: 0.26rem;
  padding: 0;
  color: #66778a;
  font-family: Georgia, serif;
  font-size: 0.18rem;
  line-height: 1;
  cursor: pointer;
  border: 0;
  border-radius: 2px;
  background: transparent;
}

.srq-page .srq-news-date-calendar-actions button:hover,
.srq-page .srq-news-date-calendar-actions button:focus-visible {
  color: #fff;
  background: var(--srq-blue-bright);
  outline: 0;
}

.srq-page .srq-news-date-weekdays,
.srq-page .srq-news-date-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.srq-page .srq-news-date-weekdays {
  margin-bottom: 0.03rem;
  color: #6682a0;
  font-size: 0.12rem;
  line-height: 0.3rem;
  text-align: center;
}

.srq-page .srq-news-date-cell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 0.31rem;
  padding: 0;
  color: #345a7c;
  font: inherit;
  font-size: 0.12rem;
  line-height: 1;
  cursor: pointer;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.srq-page button.srq-news-date-cell:hover,
.srq-page button.srq-news-date-cell:focus-visible {
  color: var(--srq-blue-deep);
  background: #e1efff;
  outline: 0;
}

.srq-page .srq-news-date-cell.is-muted {
  color: #c2cad3;
  cursor: default;
}

.srq-page .srq-news-date-cell.is-today:not(.is-range-start):not(.is-range-end) {
  color: var(--srq-blue-bright);
  font-weight: 700;
}

.srq-page .srq-news-date-cell.is-in-range {
  color: #0758af;
  background: #dbeeff;
}

.srq-page .srq-news-date-cell.is-range-start,
.srq-page .srq-news-date-cell.is-range-end {
  color: #fff;
  font-weight: 700;
  background: var(--srq-blue-bright);
}

.srq-page .srq-news-filter-actions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.1rem;
}

.srq-page .srq-news-filter-actions > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 0.76rem;
  min-width: 0.76rem;
  /* Match the 46px query box / date trigger height (was 40px). */
  height: 0.46rem;
  padding: 0 0.16rem;
  color: var(--srq-blue-deep);
  font: inherit;
  font-size: 0.13rem;
  font-weight: 700;
  cursor: pointer;
  border: 1px solid #d9e0e8;
  border-radius: 0.03rem;
  background: #fff;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.srq-page .srq-news-filter-actions > button:hover,
.srq-page .srq-news-filter-actions > button:focus-visible {
  color: #fff;
  border-color: var(--srq-blue-bright);
  background: var(--srq-blue-bright);
  outline: 0;
}

.srq-page .srq-news-filter-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 0.76rem;
  min-width: 0.76rem;
  height: 0.46rem;
  padding: 0 0.16rem;
  color: var(--srq-blue-deep);
  font-size: 0.13rem;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid #d9e0e8;
  border-radius: 0.03rem;
  background: #fff;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.srq-page .srq-news-filter-reset:hover,
.srq-page .srq-news-filter-reset:focus-visible {
  color: #fff;
  border-color: var(--srq-blue-bright);
  background: var(--srq-blue-bright);
  outline: 0;
}

.srq-page .srq-news-archive-shell {
  min-width: 0;
}

.srq-page .srq-news-archive-item::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  content: "";
  background: var(--srq-blue);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.3s ease;
}

.srq-page .srq-news-archive-thumb {
  display: block;
  overflow: hidden;
  background: #f2f5f8;
  border: 0;
  box-shadow: none;
}

.srq-page .srq-news-archive-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  box-shadow: none;
  transition: transform 0.45s ease, filter 0.45s ease;
}

.srq-page .srq-news-archive-item:hover .srq-news-archive-thumb img,
.srq-page .srq-news-archive-item:focus-within .srq-news-archive-thumb img {
  filter: saturate(1.04) contrast(1.02);
  transform: scale(1.03);
}

.srq-page .srq-news-archive-item:hover::after,
.srq-page .srq-news-archive-item:focus-within::after {
  transform: scaleX(1);
}

.srq-page .srq-news-archive-text h2 {
  margin: 0;
  color: var(--srq-ink);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.srq-page .srq-news-archive-text h2 a,
.srq-page .srq-news-archive-item a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.srq-page .srq-news-archive-text h2 a:hover,
.srq-page .srq-news-archive-text h2 a:focus-visible {
  color: var(--srq-blue);
}

.srq-page .srq-news-archive-item:hover .srq-news-archive-text h2 a,
.srq-page .srq-news-archive-item:focus-within .srq-news-archive-text h2 a {
  color: var(--srq-blue);
}

.srq-page .srq-news-archive-excerpt p {
  margin: 0;
  color: #47556b;
  font-size: 0.16rem;
  line-height: 1.78;
}

/* The archive shell class contains "editor", so base's
   [class*='editor'] * { line-height: 0.36rem !important } pins EVERY row to
   36px — a 22px title, a 14px excerpt, all the same, which reads loose and
   airless next to the reference's tight editorial rhythm (title ~1.1-1.3,
   body ~1.6-1.7). Re-claim line-height with the same !important weight and
   drop the title to regular weight like the reference. Scoped to the news
   archive shell only — the home news section keeps the base rhythm.
   (newsnarrow follow-up 2026-10-15) */
.srq-page .srq-editor-content--news-archive .srq-news-archive-text h2 {
  font-weight: 400;
  line-height: 1.32 !important;
}

.srq-page .srq-editor-content--news-archive .srq-news-archive-excerpt p {
  line-height: 1.7 !important;
}

.srq-page .srq-news-archive-excerpt,
.srq-page .srq-news-archive-date-link {
  color: inherit;
  text-decoration: none;
}

.srq-page .srq-news-archive-excerpt {
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
}

.srq-page .srq-news-archive-date-link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Short vertical divider centered in the gap between the date tile and the
   title/summary. Deliberately shorter than the row ("short line") and centered
   both ways via the --srq-archive-gap token. Hidden on the mobile card. */
.srq-page .srq-news-archive-date-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(var(--srq-archive-gap, 46px) / -2);
  width: 1px;
  height: 0.4rem;
  background: rgba(19, 34, 56, 0.16);
  transform: translate(50%, -50%);
}

/* Calendar-style date tile: large day number stacked over a smaller
   year-month line. Occupies the first grid column of the archive row. */
.srq-page .srq-news-archive-date-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  text-align: center;
}

.srq-page .srq-news-archive-date-day {
  color: #000;
  font-size: 0.6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  transition: color 0.2s ease;
}

.srq-page .srq-news-archive-date-ym {
  margin-top: 0.05rem;
  color: #000;
  font-size: 0.17rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  transition: color 0.2s ease;
}

.srq-page .srq-news-archive-item:hover .srq-news-archive-date-day,
.srq-page .srq-news-archive-item:focus-within .srq-news-archive-date-day {
  color: var(--srq-blue);
}

.srq-page .srq-news-archive-item:hover .srq-news-archive-date-ym,
.srq-page .srq-news-archive-item:focus-within .srq-news-archive-date-ym {
  color: var(--srq-blue);
}

.srq-page .srq-news-archive-shell {
  display: grid;
  gap: 0;
  margin-top: 0;
}

.srq-page .srq-news-archive-list {
  display: grid;
  gap: 0;
}

.srq-page .srq-news-archive-item {
  --srq-archive-gap: 0.46rem;
  position: relative;
  display: grid;
  grid-template-columns: 1.56rem minmax(0, 1fr) 3.6rem;
  gap: var(--srq-archive-gap);
  align-items: center;
  padding: 0.23rem 0;
  border-bottom: 1px solid rgba(19, 34, 56, 0.08);
}

.srq-page .srq-news-archive-thumb {
  align-self: center;
  justify-self: end;
  width: 90%;
  height: auto;
  aspect-ratio: 25 / 14;
}

.srq-page .srq-news-archive-text {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.1rem;
  min-width: 0;
  min-height: 0;
  padding: 0;
}

.srq-page .srq-news-archive-text h2 {
  font-size: 0.24rem;
  line-height: 1.4;
}

.srq-page .srq-news-archive-excerpt p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  min-height: calc(1.78em * 2);
}

.srq-page .srq-news-archive-item:hover .srq-news-archive-excerpt p,
.srq-page .srq-news-archive-item:focus-within .srq-news-archive-excerpt p,
body.home .srq-page .srq-news-story:hover .srq-news-archive-excerpt p,
body.home .srq-page .srq-news-story:focus-within .srq-news-archive-excerpt p {
  color: #435f7b;
}

.srq-page .srq-news-archive-text h2 a:focus-visible,
.srq-page .srq-news-archive-thumb:focus-visible,
.srq-page .srq-news-archive-excerpt:focus-visible,
.srq-page .srq-news-archive-date-link:focus-visible {
  outline: 2px solid rgba(11, 79, 159, 0.52);
  outline-offset: 0.04rem;
}

@media (prefers-reduced-motion: reduce) {
  .srq-page .srq-news-archive-item::after,
  .srq-page .srq-news-archive-thumb img {
    transition: none;
  }
}

.srq-page .srq-news-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.1rem;
  justify-content: center;
  /* 赛宝 pagination_wrap 同款：外层居中 + 上下大留白 */
  margin-top: 0.4rem;
}

.srq-page .srq-news-pagination-item {
  display: inline-flex;
}

/* 赛宝 pagination 同款按钮盒：1px 浅灰描边、2px 圆角、灰字 */
.srq-page .srq-news-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 0.42rem;
  padding: 0.05rem 0.15rem;
  color: #999;
  font-size: 0.15rem;
  font-weight: 400;
  line-height: 0.3rem !important; /* [class*='editor'] * forces 36px !important — counter at equal weight. */
  text-align: center;
  text-decoration: none;
  border: 1px solid #e2e2e2;
  border-radius: 2px;
  background: transparent;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

/* 当前页 = 实心亮蓝反白（赛宝为红底白字，本站取亮蓝） */
.srq-page .srq-news-pagination .page-numbers.current {
  color: #fff;
  border-color: #0b4f9f;
  background: #0b4f9f;
}

.srq-page .srq-news-pagination a.page-numbers:hover,
.srq-page .srq-news-pagination a.page-numbers:focus-visible {
  color: #fff;
  border-color: #0b4f9f;
  background: #0b4f9f;
}

.srq-page .srq-news-pagination .page-numbers:focus-visible {
  outline: 2px solid rgba(11, 79, 159, 0.45);
  outline-offset: 2px;
}

/* 省略号：无描边盒，仅灰字（对齐赛宝 <li><span>…</span></li>） */
.srq-page .srq-news-pagination .page-numbers.dots {
  min-width: 0;
  padding: 0.05rem 0.04rem;
  border: 0;
  background: transparent;
}

/* 上/下一页：纯箭头方块（赛宝 icon_left/right 同款；「上一页/下一页」文字仅视觉隐藏，读屏仍可读） */
.srq-page .srq-news-pagination .page-numbers.prev,
.srq-page .srq-news-pagination .page-numbers.next {
  position: relative;
  width: 0.42rem;
  min-width: 0.42rem;
  padding: 0;
  color: transparent;
  overflow: hidden;
  white-space: nowrap;
}

.srq-page .srq-news-pagination .page-numbers.prev::after,
.srq-page .srq-news-pagination .page-numbers.next::after {
  content: "›";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 0.22rem;
  line-height: 1;
}

.srq-page .srq-news-pagination .page-numbers.prev::after {
  content: "‹";
}

.srq-page .srq-news-pagination a.page-numbers.prev:hover,
.srq-page .srq-news-pagination a.page-numbers.prev:focus-visible,
.srq-page .srq-news-pagination a.page-numbers.next:hover,
.srq-page .srq-news-pagination a.page-numbers.next:focus-visible {
  color: transparent;
  border-color: #0b4f9f;
  background: #0b4f9f;
}

.srq-page .srq-news-pagination a.page-numbers.prev:hover::after,
.srq-page .srq-news-pagination a.page-numbers.prev:focus-visible::after,
.srq-page .srq-news-pagination a.page-numbers.next:hover::after,
.srq-page .srq-news-pagination a.page-numbers.next:focus-visible::after {
  color: #fff;
}

.srq-page .srq-editor-shell--news-article {
  display: block;
}

.srq-page .srq-news-article {
  display: grid;
  gap: 0.26rem;
}

.srq-page .srq-news-article-date {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.08rem 0.12rem;
  color: #657488;
  font-size: 0.13rem;
  line-height: 1.5;
}

.srq-page .srq-news-article-body {
  width: min(100%, 7.8rem);
  margin: 0 auto;
  color: var(--srq-ink);
  font-size: 0.16rem;
  line-height: 1.9;
}

.srq-page .srq-news-article-body > :first-child {
  margin-top: 0;
}

.srq-page .srq-news-article-body p {
  margin: 0 0 1.2em;
  color: var(--srq-text-body);
}

.srq-page .srq-news-article-body h2,
.srq-page .srq-news-article-body h3,
.srq-page .srq-news-article-body h4 {
  color: var(--srq-ink);
  line-height: 1.4;
  margin: 1.8em 0 0.7em;
}

.srq-page .srq-news-article-body h2 {
  font-size: 0.28rem;
}

.srq-page .srq-news-article-body h3 {
  font-size: 0.22rem;
}

.srq-page .srq-news-article-body ul,
.srq-page .srq-news-article-body ol {
  margin: 0 0 1.2em 1.2em;
  color: var(--srq-text-body);
}

/* li needs its own color: the legacy .srq-editor-content li rule (above)
   paints list items --srq-muted directly, beating ul inheritance. */
.srq-page .srq-news-article-body li {
  color: var(--srq-text-body);
}

.srq-page .srq-news-article-body li + li {
  margin-top: 0.5em;
}

.srq-page .srq-news-article-body a {
  color: var(--srq-blue);
}

.srq-page .srq-news-article-body img {
  max-width: 100%;
  height: auto;
  box-shadow: none;
}

.srq-page .srq-news-article-body blockquote {
  margin: 1.6em 0;
  padding: 0 0 0 0.18rem;
  color: #52657a;
  border-left: 2px solid rgba(11, 79, 159, 0.28);
}

.srq-page .srq-news-article-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 0.16rem;
  align-items: stretch;
  padding-top: 0.2rem;
  border-top: 1px solid rgba(19, 34, 56, 0.1);
}

.srq-page .srq-news-article-nav-item {
  display: grid;
  gap: 0.06rem;
  min-height: 0.84rem;
  padding: 0.14rem 0.16rem;
  color: var(--srq-ink);
  text-decoration: none;
  border: 1px solid rgba(19, 34, 56, 0.1);
}

.srq-page .srq-news-article-nav-item span {
  color: #6b7a8d;
  font-size: 0.12rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.srq-page .srq-news-article-nav-item strong {
  font-size: 0.14rem;
  line-height: 1.62;
  font-weight: 700;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.srq-page .srq-news-article-nav-item:hover,
.srq-page .srq-news-article-nav-item:focus-visible {
  border-color: rgba(11, 79, 159, 0.22);
}



/* Narrow-desktop archive step 2026-10-15 (newsnarrow): the fixed 3.6rem image
   column used to crush the text column as the window narrowed (212px of text
   at a 900px window while the image stayed 324x181). The image switches to a
   proportional column and the date tile steps down; title 0.22rem fills the
   f-series hole so the archive title ladder is monotonic 24 -> 22 -> 18.
   Must stay source-ordered BEFORE the 768px block below. */
@media (max-width: 1024px) {
  .srq-page .srq-news-archive-item {
    --srq-archive-gap: 0.36rem;
    grid-template-columns: 0.86rem minmax(0, 1fr) minmax(0, 26%);
  }

  .srq-page .srq-news-archive-date-day {
    font-size: 0.46rem;
  }

  .srq-page .srq-news-archive-date-ym {
    font-size: 0.15rem;
  }

  .srq-page .srq-news-archive-text h2 {
    font-size: 0.22rem;
  }
}

@media (max-width: 768px) {
  /* Filter form (newsnarrow follow-up 2026-10-15): two rows — the date-range
     trigger on its own line, then the keyword input with the search/reset
     buttons sharing the same row. The buttons must never land on a row of
     their own (the old column layout at <=560 did exactly that). */
  .srq-page .srq-news-filter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "dates dates"
      "query actions";
    gap: 0.1rem 0.12rem;
    align-items: center;
  }

  .srq-page .srq-news-filter-dates {
    grid-area: dates;
    /* Fluid: stretch across the row so the date box tracks the canvas the
       way it did under the old flex layout. Without min-width: 0 the base
       min-width: 3rem floor pins it at 300px (it even overflowed at 320). */
    min-width: 0;
    max-width: 100%;
  }

  .srq-page .srq-news-filter-query {
    grid-area: query;
    width: auto;
  }

  .srq-page .srq-news-filter-actions {
    grid-area: actions;
  }

  .srq-page .srq-news-archive-shell {
    margin-top: 0;
  }

  .srq-page .srq-news-archive-list {
    gap: 0;
  }

  /* Compact form 2026-10-15 (newsnarrow, same-day revision): the approved
     "mini date column" form — the calendar tile keeps its normal stacked
     format (day over year-month), scaled down and top-aligned as a narrow
     first column beside the title. The kicker-line variant tried earlier
     flattened the tile into a row above the title, which drifted from the
     approved option and is retired; so is the old 560px stacked-image form. */
  .srq-page .srq-news-archive-item {
    grid-template-columns: minmax(0, 0.52rem) minmax(0, 1fr) 30%;
    gap: 0.06rem 0.12rem;
    align-items: start;
    padding: 0.15rem 0;
  }

  /* No divider at this width — the mini tile reads fine without one and the
     width goes to the text column instead. */
  .srq-page .srq-news-archive-date-link::after {
    display: none;
  }

  .srq-page .srq-news-archive-date-day {
    font-size: 0.26rem;
  }

  .srq-page .srq-news-archive-date-ym {
    margin-top: 0.02rem;
    font-size: 0.1rem;
    letter-spacing: 0.04em;
  }

  .srq-page .srq-news-archive-text {
    gap: 0.08rem;
  }

  .srq-page .srq-news-archive-text h2 {
    font-size: 0.18rem;
  }

  .srq-page .srq-news-archive-thumb {
    width: 100%;
    aspect-ratio: 1.52 / 1;
  }

  .srq-page .srq-news-archive-excerpt p {
    font-size: 0.14rem;
  }

  .srq-page .srq-news-pagination {
    margin-top: 0.3rem;
  }

  .srq-page .srq-news-pagination .page-numbers {
    min-width: 0.38rem;
    padding: 0.04rem 0.1rem;
    font-size: 0.14rem;
    line-height: 0.26rem !important;
  }

  .srq-page .srq-news-pagination .page-numbers.prev,
  .srq-page .srq-news-pagination .page-numbers.next {
    width: 0.38rem;
    min-width: 0.38rem;
  }

  .srq-page .srq-news-article {
    gap: 0.22rem;
  }

  .srq-page .srq-news-article-date {
    justify-content: start;
  }

  .srq-page .srq-news-article-body {
    font-size: 0.15rem;
    line-height: 1.82;
  }

  .srq-page .srq-news-article-body h2 {
    font-size: 0.24rem;
  }

  .srq-page .srq-news-article-body h3 {
    font-size: 0.2rem;
  }

  .srq-page .srq-news-article-nav {
    grid-template-columns: 1fr;
  }

  .srq-page .srq-news-article-nav-item {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .srq-page .srq-news-date-picker {
    right: 0;
    width: min(638px, calc(100vw - 32px));
  }

  .srq-page .srq-news-date-picker.is-left-aligned {
    right: auto;
    left: 0;
  }

  .srq-page .srq-news-date-picker-body {
    grid-template-columns: 1fr;
  }

  
  .srq-page .srq-news-date-calendar-actions.is-mobile-next {
    display: inline-flex;
  }

  /* The two-row grid form comes from the 768px band; here the buttons just
     get compact widths so the keyword input keeps room on small phones. */
  .srq-page .srq-news-filter-actions > button,
  .srq-page .srq-news-filter-reset {
    width: 0.6rem;
    min-width: 0.6rem;
    padding: 0 0.1rem;
  }

  /* 560px-and-below: same mini-tile compact form as the 768px band, one
     notch tighter (newsnarrow 2026-10-15 — the old stacked full-width image
     layout stays retired). */
  .srq-page .srq-news-archive-item {
    grid-template-columns: minmax(0, 0.42rem) minmax(0, 1fr) 30%;
    gap: 0.05rem 0.1rem;
  }

  .srq-page .srq-news-archive-date-day {
    font-size: 0.22rem;
  }

  .srq-page .srq-news-archive-date-ym {
    font-size: 0.09rem;
  }
}

.srq-page .srq-about-page {
  padding: 0.52rem 0;
  background: transparent;
}
























@media (max-width: 1024px) {
  .srq-page .srq-about-page {
    padding: 0.46rem 0;
  }

  
  
  
  
}

@media (max-width: 768px) {
  .srq-page .srq-about-page {
    padding: 0.4rem 0;
  }

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

@media (max-width: 460px) {

}



/* Contact page: direct actions and location form one compact information band. */






@media (max-width: 640px) {

  
  }

/* Reserve one desktop navigation track so Chinese and English share the same anchors. */
@media (min-width: 769px) {
  .srq-page .srq-header-main {
    height: 0.7rem;
    min-height: 0.7rem;
  }

  .srq-page .srq-header-tools {
    height: 100%;
    gap: 0.12rem;
  }

  .srq-page .srq-nav {
    align-self: stretch;
    flex: 0 1 7.5rem;
    height: 100%;
    width: min(7.5rem, 100%);
  }

  .srq-page .srq-menu {
    height: 100%;
    width: 100%;
    justify-content: space-between;
    gap: 0;
  }

  .srq-page .srq-menu .srq-menu-item, .srq-page .srq-menu .srq-menu-item-head {
    flex: 0 0 auto;
    height: 100%;
    margin: 0;
  }

  .srq-page .srq-menu .srq-menu-link {
    height: 100%;
    justify-content: center;
    white-space: nowrap;
  }

  .srq-page .srq-menu .srq-menu-link::after {
    bottom: 0;
  }
}

@media (min-width: 769px) and (max-width: 1100px) {
  .srq-page .srq-logo img {
    width: 1.7rem;
  }

  .srq-page .srq-header-tools {
    gap: 0.08rem;
  }

  .srq-page .srq-nav {
    flex-basis: min(650px, calc(100vw - 312px));
  }

  .srq-page .srq-menu .srq-menu-link {
    padding-right: 0.06rem;
    padding-left: 0.06rem;
    font-size: 0.15rem;
  }
}

@media (min-width: 1101px) {
  .srq-page .srq-nav {
    position: absolute;
    top: 0;
    /* +58px = 18px base + half of the 80px track widening: the first item
       (首页) keeps its seat while the extra spacing extends rightward. */
    left: calc(50% + 0.58rem);
    display: flex;
    align-items: center;
    height: 100%;
    flex: none;
    width: clamp(650px, 60vw, 830px);
    transform: translateX(-50%);
  }

  .srq-page .srq-menu .srq-menu-wide .srq-nav-panel {
    width: min(var(--srq-content-width), calc(100vw - 24px));
  }
}

/* International insights article reading layout. */
.srq-page .srq-editor-page--news-article {
  padding: 0.42rem 0 0.88rem;
}

.srq-page .srq-news-article {
  gap: 0.28rem;
}

.srq-page .srq-news-article-masthead {
  display: grid;
  /* h1align 2026-09-29: the reserved 3.2rem right column retires — the date
     already sat in column 1 (justify-self center), so that track plus the
     0.56rem gap was pure dead space right of the title. Single full row now. */
  grid-template-columns: minmax(0, 1fr);
  column-gap: 0.56rem;
  row-gap: 0;
  padding: 0 0 0.26rem;
  border-bottom: 1px solid rgba(19, 34, 56, 0.12);
}

.srq-page .srq-news-article-masthead .srq-service-page-breadcrumb {
  grid-column: 1 / -1;
}

/* newshead 2026-09-22: the article shell carries an `editor` class, so
   srq-base `[class*='editor'] *` pins line-height to 0.36rem !important —
   smaller than the title, and wrapped lines physically overlap.
   Re-!important here (higher specificity) so long titles wrap cleanly.
   h1align 2026-09-29: title 0.4176rem → 0.36rem, left-aligned, and the
   11.2rem cap goes — with the masthead down to one column the cap would
   only re-introduce a right-hand gap inside the full row. */
.srq-page .srq-news-article-masthead h1 {
  grid-column: 1;
  max-width: none;
  margin: 0.18rem 0 0.13rem;
  color: var(--srq-ink);
  font-size: 0.36rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.28 !important;
  text-align: left;
  overflow-wrap: anywhere;
}

.srq-page .srq-news-article-date {
  grid-column: 1;
  justify-self: start; /* newdatelabel 2026-09-29: date rides the left line with the title */
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.09rem;
  color: #68778a;
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 1.4;
}

.srq-page .srq-news-article-date .srq-news-date {
  color: var(--srq-text-body); /* newdatecolor 2026-09-29: was blue — the date reads as body text under the title now; list/home dates keep their own rules */
  font-weight: 700;
}

.srq-page .srq-news-article-reading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3.2rem;
  gap: 0.56rem;
  width: 100%;
  margin: 0;
}




.srq-page .srq-news-article-reading .srq-news-article-body {
  margin: 0;
  color: var(--srq-ink);
  font-size: 0.17rem;
  line-height: 1.95;
}

.srq-page .srq-news-article-reading:not(.has-outline) .srq-news-article-body {
  width: 100%;
  margin: 0;
}

.srq-page .srq-news-article-recommendations {
  min-width: 0;
}

.srq-page .srq-news-article-recommendations-title {
  margin: 0 0 0.16rem;
  padding-bottom: 0.12rem;
  border-bottom: 1px solid rgba(19, 34, 56, 0.14);
  color: var(--srq-blue-deep);
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.srq-page .srq-news-article-recommendations ul {
  display: grid;
  gap: 0.14rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.srq-page .srq-news-article-recommendations li {
  min-width: 0;
}

.srq-page .srq-news-article-recommendations a {
  display: block;
  padding: 0.12rem 0.14rem;
  border: 1px solid rgba(19, 34, 56, 0.10);
  border-radius: 0.1rem;
  background: #fff;
  color: var(--srq-ink);
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.srq-page .srq-news-article-recommendations a:hover,
.srq-page .srq-news-article-recommendations a:focus-visible {
  border-color: rgba(0, 51, 102, 0.35);
  box-shadow: 0 0.06rem 0.18rem rgba(19, 34, 56, 0.08);
}

.srq-page .srq-news-article-recommendations-cat {
  display: block;
  margin-bottom: 0.04rem;
  color: var(--srq-blue);
  font-size: 0.12rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.srq-page .srq-news-article-recommendations-name {
  display: block;
  font-size: 0.15rem;
  font-weight: 600;
  line-height: 1.5;
}

.srq-page .srq-news-article-recommendations-date {
  display: block;
  margin-top: 0.06rem;
  color: #718197;
  font-size: 0.13rem;
}

.srq-page .srq-news-article-body p {
  margin-bottom: 1.45em;
}

.srq-page .srq-news-article-body > p:first-child {
  color: var(--srq-text-body);
  font-size: 0.18rem;
  line-height: 1.9;
}

.srq-page .srq-news-article-body h2,
.srq-page .srq-news-article-body h3,
.srq-page .srq-news-article-body h4 {
  scroll-margin-top: 1.18rem;
}

.srq-page .srq-news-article-body h2 {
  margin-top: 2em;
  font-size: 0.288rem;
}

.srq-page .srq-news-article-body h3 {
  font-size: 0.2304rem;
}

.srq-page .srq-news-article-nav {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.86rem;
  margin-top: 0.12rem;
  padding-top: 0.26rem;
  border-top-color: rgba(19, 34, 56, 0.12);
}

.srq-page .srq-news-article-nav-item {
  position: relative;
  min-height: 0;
  padding: 0 0 0.15rem;
  border: 0;
}

.srq-page .srq-news-article-nav-item::after {
  position: absolute;
  bottom: 0;
  width: 0.38rem;
  height: 2px;
  background: rgba(11, 79, 159, 0.28);
  content: "";
  transition: background-color 0.2s ease, width 0.2s ease;
}





.srq-page .srq-news-article-nav-item span {
  color: #68778a;
  font-size: 0.15rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.srq-page .srq-news-article-nav-item strong {
  color: var(--srq-ink);
  font-size: 0.17rem;
  line-height: 1.5;
}

.srq-page .srq-news-article-nav-item:hover::after,
.srq-page .srq-news-article-nav-item:focus-visible::after {
  width: 0.58rem;
  background: var(--srq-blue);
}

.srq-page .srq-news-article-nav-item:focus-visible {
  outline: 2px solid rgba(11, 79, 159, 0.48);
  outline-offset: 0.04rem;
}

@media (max-width: 900px) {
  .srq-page .srq-editor-page--news-article {
    padding: 0.36rem 0 0.64rem;
  }

  .srq-page .srq-news-article {
    gap: 0.24rem;
  }

  .srq-page .srq-news-article-masthead {
    display: block;
    text-align: left; /* newdatelabel 2026-09-29: was center — the date (inline-flex) rode this; breadcrumb is flex and h1 is explicit left, so nothing else was leaning on it */
    padding-bottom: 0.26rem; /* dead value: the later plain padding-bottom rule wins */
  }

  .srq-page .srq-news-article-masthead h1 {
    margin-top: 0.18rem;
    text-align: left;
    font-size: clamp(30px, 6vw, 36px); /* h1align 2026-09-29: cap tracks the new 0.36rem desktop title */
    line-height: 1.3 !important; /* newshead 2026-09-22: beats base editor line-height pin */
  }

  .srq-page .srq-news-article-reading {
    display: block;
    width: 100%;
  }

  
  .srq-page .srq-news-article-reading .srq-news-article-body {
    width: 100%;
    margin: 0;
  }

  .srq-page .srq-news-article-nav {
    grid-template-columns: 1fr;
    gap: 0.16rem;
    margin-top: 2px;
    padding-top: 0.2rem;
  }

  }

@media (max-width: 560px) {
  .srq-page .srq-editor-page--news-article {
    padding: 0.3rem 0 0.56rem;
  }

  .srq-page .srq-news-article-date {
    font-size: 0.15rem;
  }

  .srq-page .srq-news-article-date {
    justify-content: flex-start;
  }

  .srq-page .srq-news-article-reading .srq-news-article-body {
    font-size: 0.16rem;
    line-height: 1.9;
  }

  .srq-page .srq-news-article-body > p:first-child {
    font-size: 0.17rem;
  }

  .srq-page .srq-news-article-body h2 {
    font-size: 0.23rem;
  }

  .srq-page .srq-news-article-body h3 {
    font-size: 0.19rem;
  }
}

/* International insights article editorial navigation refinement. */
/* newdatelabel 2026-09-29: masthead padding-bottom 0.3rem → 0.1rem (10px) —
   this later plain rule already overrode the 0.26rem values in the <=900 /
   <=560 bands, so tightening it here moves every band at once. */
.srq-page .srq-news-article-masthead {
  padding-bottom: 0.1rem;
}

.srq-page .srq-news-article-masthead h1 {
  margin-top: 0.21rem;
  margin-bottom: 0.15rem;
}

.srq-page .srq-news-article-date {
  color: #5f7186;
  font-weight: 600;
}


.srq-page .srq-news-article-body h2 {
  position: relative;
  padding-top: 0.15rem;
}

.srq-page .srq-news-article-body h2::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 0.34rem;
  height: 0.03rem;
  background: var(--srq-blue);
  content: "";
}

.srq-page .srq-news-article-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: clamp(30px, 4vw, 52px);
  row-gap: 0;
  align-items: center;
  justify-self: start;
  width: calc(100% - 3.2rem - 0.56rem);
  margin: 0;
  /* 赛宝 news_link row 同款：顶部细分隔线 + 上下大留白 */
  padding: 0.26rem 0 0.1rem;
  border-top: 1px solid #e2e2e2;
}

.srq-page .srq-news-article-nav-slot {
  min-width: 0;
}

.srq-page .srq-news-article-nav-slot--prev {
  grid-column: 1;
}

.srq-page .srq-news-article-nav-slot--archive {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: stretch;
  display: flex;
}

.srq-page .srq-news-article-nav-slot--next {
  grid-column: 1;
}

.srq-page .srq-news-article-nav-slot.is-empty {
  display: none;
}

.srq-page .srq-news-article-nav-item {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 0;
  min-width: 0;
  /* 每条上下 0.75em 留白，与赛宝 news_link a 一致 */
  padding: 0.75em 0;
  color: var(--srq-ink);
  font-size: 0.17rem;
  line-height: 1.5;
  text-align: left;
  text-decoration: none;
  border: 0;
  background: transparent;
  transition: color 0.2s ease;
}

/* 覆盖旧块的箭头伪元素 */
.srq-page .srq-news-article-nav-item::after {
  content: none;
}

/* 赛宝式「上一篇：标题」单行内联，冒号接在标签后 */
.srq-page .srq-news-article-nav-item span {
  display: block;
  flex: none;
  white-space: nowrap;
  color: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
}

.srq-page .srq-news-article-nav-item span::after {
  content: "：";
}

html[lang^="en"] .srq-page .srq-news-article-nav-item span::after {
  content: ": ";
}

.srq-page .srq-news-article-nav-item strong {
  display: block;
  min-width: 0;
  margin-top: 0;
  color: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.srq-page .srq-news-article-nav-item:hover,
.srq-page .srq-news-article-nav-item:focus-visible {
  color: var(--srq-blue);
}

/* 赛宝 news_link_btn 同款：大号灰描边圆角幽灵按钮 */
.srq-page .srq-news-article-archive {
  display: inline-flex;
  align-items: center;
  align-self: center;
  justify-content: center;
  min-width: 8em;
  min-height: 0.56rem;
  padding: 0 0.28rem;
  border: 1px solid #999;
  border-radius: 0.08rem;
  color: #999;
  font-size: 0.2rem;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.srq-page .srq-news-article-archive:hover,
.srq-page .srq-news-article-archive:focus-visible {
  border-color: var(--srq-blue);
  background: rgba(11, 79, 159, 0.04);
  color: var(--srq-blue);
}

.srq-page .srq-news-article-nav-item:focus-visible,
.srq-page .srq-news-article-archive:focus-visible {
  outline: 2px solid rgba(11, 79, 159, 0.52);
  outline-offset: 0.04rem;
}

@media (max-width: 900px) {
  .srq-page .srq-news-article-nav {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.12rem;
    justify-self: stretch;
    width: auto;
    margin: 0;
    padding: 0.2rem 0 0.1rem;
  }

  .srq-page .srq-news-article-nav-slot--prev, .srq-page .srq-news-article-nav-slot--next, .srq-page .srq-news-article-nav-slot--archive {
    grid-column: 1;
    text-align: left;
  }

  .srq-page .srq-news-article-nav-slot--prev {
    order: 1;
  }

  .srq-page .srq-news-article-nav-slot--next {
    order: 2;
  }

  .srq-page .srq-news-article-nav-slot--archive {
    grid-row: auto;
    order: 3;
    margin-top: 0.1rem;
  }

  .srq-page .srq-news-article-nav-slot.is-empty {
    display: none;
  }

  .srq-page .srq-news-article-archive {
    display: flex;
    width: 100%;
  }
}

@media (max-width: 560px) {
  .srq-page .srq-news-article-masthead {
    padding-bottom: 0.1rem; /* newdatelabel 2026-09-29: tracks the 10px masthead floor on every band */
  }

  .srq-page .srq-news-article-body h2 {
    padding-top: 0.13rem;
  }

  .srq-page .srq-news-article-nav {
    gap: 0.1rem;
    margin: 0;
    padding: 0.18rem 0 0.08rem;
  }

  .srq-page .srq-news-article-nav-item {
    font-size: 0.15rem;
    padding: 0.6em 0;
  }

  .srq-page .srq-news-article-archive {
    min-height: 0.48rem;
    font-size: 0.17rem;
  }
}

/* Shared China Certification content remains information-led rather than card-led. */

/* Header search stays compact until it is explicitly opened. */
.srq-page .srq-header-search {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.1rem;
}

.srq-page .srq-header-search-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.4rem;
  height: 0.4rem;
  padding: 0;
  border: 0;
  border-left: 1px solid rgba(19, 34, 56, 0.14);
  border-radius: 0;
  background: transparent;
  color: var(--srq-ink);
  cursor: pointer;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.srq-page .srq-header-search-toggle svg {
  width: 0.22rem;
  height: 0.22rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.8;
}

/* The trigger doubles as the close control: magnifier closed, X open. */
.srq-page .srq-header-search-toggle .srq-header-search-close {
  display: none;
}

.srq-page .srq-header-search-toggle[aria-expanded="true"] .srq-header-search-close {
  display: block;
}

.srq-page .srq-header-search-toggle[aria-expanded="true"] .srq-header-search-magnifier {
  display: none;
}

/* Tint on real hover only — the open X stays a neutral glyph (design D6). */
.srq-page .srq-header-search-toggle:hover {
  color: var(--srq-blue);
  background: rgba(11, 79, 159, 0.06);
}

.srq-page .srq-header-search-toggle:focus-visible,
.srq-page .srq-header-search-form input:focus-visible,
.srq-page .srq-header-search-form button:focus-visible,
.srq-page .srq-search-page-form input:focus-visible,
.srq-page .srq-search-page-form button:focus-visible {
  outline: 2px solid var(--srq-blue);
  outline-offset: 0.03rem;
}

.srq-page .srq-header-search-form {
  position: absolute;
  top: calc(100% + 0.1rem);
  right: 0;
  z-index: 45;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  width: min(480px, calc(100vw - 48px));
  padding: 0.16rem 0.18rem;
  border: 1px solid rgba(19, 34, 56, 0.14);
  border-top: 2px solid var(--srq-blue);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 0.16rem 0.3rem rgba(8, 29, 72, 0.12);
}

.srq-page .srq-header-search-form[hidden] {
  display: none;
}

/* cvc.org.cn pattern: on desktop the open search replaces the nav row with an
   inline [X][input][搜索] line instead of dropping a panel below the header.
   Open-state polish (design D1–D5): the line takes the nav's seat (48px
   breathing gap from the logo), fills the row to the content right edge, the
   boxed input replaces the underline, and the language switch steps aside
   until close. Below 769px the header-anchored dropdown (see the max-width
   media block) stays in charge. */
@media (min-width: 769px) {
  .srq-page .srq-header.srq-search-open .srq-nav {
    display: none;
  }

  .srq-page .srq-header.srq-search-open .srq-lang-switch {
    display: none;
  }

  .srq-page .srq-header.srq-search-open .srq-header-tools {
    flex: 1 1 auto;
    margin-left: 0;
    min-width: 0;
  }

  .srq-page .srq-header.srq-search-open .srq-header-search {
    flex: 1 1 auto;
    margin-left: 0.48rem;
    min-width: 0;
  }

  .srq-page .srq-header.srq-search-open .srq-header-search-toggle {
    border-left: 0;
  }

  .srq-page .srq-header.srq-search-open .srq-header-search-form {
    flex: 1 1 auto;
    position: static;
    top: auto;
    right: auto;
    z-index: auto;
    width: auto;
    /* Capped, not edge-to-edge: at maximized widths a filled line reads too
       long (user feedback 08-26 round 2); with EN hidden the trailing bar is
       clean empty space, unlike the round-1 dead zone that stranded EN. */
    max-width: 7.2rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  /* cvc-true underline: their .el-input__inner override is border:0 +
     border-bottom:1px #dcdfe6 — the shared input rule below already paints
     exactly that line, so the open state only drops the height to 40px and
     turns the baseline blue on focus (design D2 revision). */
  .srq-page .srq-header.srq-search-open .srq-header-search-form input {
    height: 0.4rem;
  }

  .srq-page .srq-header.srq-search-open .srq-header-search-form input:focus {
    border-bottom-color: var(--srq-blue);
    outline: none;
  }

  .srq-page .srq-header.srq-search-open .srq-header-search-form button {
    height: 0.4rem;
  }
}

.srq-page .srq-header-search-form label,
.srq-page .srq-search-page-form label {
  min-width: 0;
}

.srq-page .srq-header-search-form input,
.srq-page .srq-search-page-form input {
  display: block;
  width: 100%;
  height: 0.46rem;
  padding: 0 0.06rem;
  border: 0;
  border-bottom: 1px solid rgba(19, 34, 56, 0.22);
  border-radius: 0;
  background: transparent;
  color: var(--srq-ink);
  font: inherit;
  font-size: 0.17rem;
}

.srq-page .srq-header-search-form button,
.srq-page .srq-search-page-form button {
  height: 0.46rem;
  margin-left: 0.14rem;
  padding: 0 0.18rem;
  border: 0;
  border-radius: 0;
  background: var(--srq-blue);
  color: #fff;
  font: inherit;
  font-size: 0.17rem;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.srq-page .srq-header-search-form button:hover,
.srq-page .srq-search-page-form button:hover {
  background: var(--srq-blue-deep);
}

.srq-page .srq-screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Search results (2026-09-10 regroup): fixed-order stacked groups on the
   shared canvas — the old 1040px self-narrowing is gone, the page inherits
   the .srq-inner width like every other page. Rows slim down to highlighted
   title / hit-window excerpt (2-line clamp, news-archive idiom) / per-group
   meta; the whole row is one target via the stretched title link. No
   「查看详情」, no type chip, no pagination — groups stack, empty groups
   vanish. */
.srq-page .srq-search-page {
  padding: 0.12rem 0 0.6rem;
}

.srq-page .srq-search-page-head {
  /* One line: 「为您找到…相关结果…个」 left, the form right. */
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(3.6rem, 0.8fr);
  gap: 0.4rem;
  align-items: center;
  padding: 0 0 0.28rem;
}

/* Quiet opening, solutions-detail standard: 32px/700 on the body left line. */
.srq-page .srq-search-page-head h1 {
  margin: 0;
  color: var(--srq-ink);
  font-size: 0.32rem;
  font-weight: 700;
  line-height: 1.2;
}

.srq-page .srq-search-page-head p {
  margin: 0.12rem 0 0;
  color: var(--srq-muted);
  font-size: 0.16rem;
  line-height: 1.75;
}

.srq-page .srq-search-page-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.srq-page .srq-search-group {
  margin-top: 0.34rem;
}

.srq-page .srq-search-group-title {
  margin: 0;
  padding-bottom: 0.12rem;
  color: var(--srq-ink);
  font-size: 0.2rem;
  font-weight: 700;
  line-height: 1.4;
}

.srq-page .srq-search-results {
  padding: 0;
  margin: 0;
  list-style: none;
}

/* Results render as white cards, not ruled rows (2026-09-30, CEPREI
   search-list recipe measured from their live page: #fff / radius 8px /
   soft shadow / spacing). Hover lifts the card instead of washing it. */
.srq-page .srq-search-result {
  position: relative;
  padding: 0.2rem 0.24rem;
  margin: 0 0 0.16rem;
  background: #fff;
  border: 1px solid rgba(19, 34, 56, 0.08);
  border-radius: 0.08rem;
  box-shadow: 0 0.02rem 0.16rem rgba(130, 143, 164, 0.12);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.srq-page .srq-search-result:hover {
  border-color: rgba(0, 51, 102, 0.32);
  box-shadow: 0 0.06rem 0.2rem rgba(130, 143, 164, 0.22);
  transform: translateY(-0.02rem);
}

.srq-page .srq-search-result-title {
  margin: 0;
  font-size: 0.2rem;
  font-weight: 600;
  line-height: 1.45;
}

.srq-page .srq-search-result-title a {
  color: var(--srq-ink);
  text-decoration: none;
  transition: color 0.2s ease;
}

/* The title link owns the whole row as a click target. */
.srq-page .srq-search-result-title a::after {
  content: "";
  position: absolute;
  inset: 0;
}

.srq-page .srq-search-result:hover .srq-search-result-title a {
  color: var(--srq-blue);
}

.srq-page .srq-search-result-title a:focus-visible {
  outline: 2px solid var(--srq-blue);
  outline-offset: 0.03rem;
}

/* Query keyword highlight, CEPREI-style (ceprei.org search): a saturated red
   on the keyword only — no wash, no weight bump. The contrast comes from the
   normal text receding (excerpt drops to a light grey below). The same class
   tints the query/count spans inside the head sentence. (mark resets the
   browser's yellow wash.) */
.srq-page .srq-search-hit {
  color: #e50000;
  background: transparent;
}

.srq-page .srq-search-result-excerpt {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  margin: 0.08rem 0 0;
  color: #94a3b8;
  font-size: 0.15rem;
  line-height: 1.78;
}

.srq-page .srq-search-result-meta {
  margin-top: 0.08rem;
  color: #718096;
  font-size: 0.13rem;
  line-height: 1.4;
}

.srq-page .srq-search-empty {
  padding: 0.64rem 0 0.72rem;
  border-bottom: 1px solid rgba(19, 34, 56, 0.13);
}

.srq-page .srq-search-empty h2 {
  margin: 0;
  font-size: 0.24rem;
  font-weight: 600;
}

.srq-page .srq-search-empty p {
  max-width: 6rem;
  margin: 0.12rem 0 0;
  color: var(--srq-muted);
  font-size: 0.16rem;
  line-height: 1.8;
}

/* navlogo (2026-10-20): the header search icon+dropdown keep their compact
   band form through the drawer band (<=1024). */
@media (max-width: 1024px) {
  .srq-page .srq-header-search-toggle {
    width: 0.32rem;
    height: 0.32rem;
  }

  /* Anchor the dropdown to the sticky header, not the 32px toggle, so a
     viewport-wide form cannot spill past the left edge on phones. */
  .srq-page .srq-header-search {
    position: static;
  }

  .srq-page .srq-header-search-form {
    top: calc(100% + 0.08rem);
    left: 0.12rem;
    right: 0.12rem;
    width: auto;
  }
}

@media (max-width: 768px) {
  .srq-page .srq-search-page {
    padding-top: 0;
  }

  .srq-page .srq-search-page-head {
    grid-template-columns: 1fr;
    gap: 0.22rem;
  }

  .srq-page .srq-search-page-head h1 {
    font-size: 0.3rem;
  }

  .srq-page .srq-search-page-form {
    width: 100%;
  }

  .srq-page .srq-search-group {
    margin-top: 0.26rem;
  }

  .srq-page .srq-search-result {
    padding: 0.16rem 0.12rem;
  }

  .srq-page .srq-search-empty {
    padding: 0.46rem 0 0.52rem;
  }
}
/* Regulatory certification pages keep source material dense and readable without importing legacy page styling. */

/* Keep the homepage content sections on one consistent vertical rhythm. */
body.home .srq-page .srq-section {
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
}

@media (max-width: 1024px) {
  body.home .srq-page .srq-section {
    padding-top: 0.52rem;
    padding-bottom: 0.52rem;
  }
}

@media (max-width: 768px) {
  body.home .srq-page .srq-section {
    padding-top: 0.44rem;
    padding-bottom: 0.44rem;
  }
}

/* Let whitespace, rather than repeated rules, separate homepage content. */
body.home .srq-page .srq-section-head--home::after {
  content: none;
  display: none;
}

body.home .srq-page .srq-news-editorial-list,
body.home .srq-page .srq-news-story + .srq-news-story {
  border: 0;
}

body.home .srq-page .srq-news-editorial-list {
  gap: 0.14rem;
}

body.home .srq-page .srq-news-side-media {
  border: 0;
}

/* China Certification is presented as a continuous service brief, not a collection of panels. */

/* Contact page: preserve the complete visual while keeping the page heading compact. */






.srq-page .srq-contact-details-grid {
  position: relative;
  z-index: 1;
  display: grid;
  /* mapbg4：左列加宽到 1.12fr，让地址串能一行放下（信息区全部单行） */
  grid-template-columns: minmax(0, 1.12fr) minmax(3.4rem, 0.88fr);
  gap: 0.72rem;
  align-items: stretch;
  min-height: clamp(300px, 24vw, 380px);
}

.srq-page .srq-contact-channels {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0;
  align-content: center;
  margin: 0;
  font-style: normal;
}

.srq-page .srq-contact-channel {
  display: grid;
  grid-template-columns: 0.54rem minmax(0, 1fr);
  gap: 0.21rem;
  align-items: center;
  min-height: 0.92rem;
  padding: 0.16rem 0;
  color: #233b53;
  text-decoration: none;
}

.srq-page .srq-contact-channel + .srq-contact-channel {
  border-top: 0;
}

.srq-page .srq-contact-channel-icon {
  display: inline-grid;
  place-items: center;
  width: 0.54rem;
  height: 0.54rem;
  color: var(--srq-blue);
  background: transparent;
  box-shadow: none;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.srq-page .srq-contact-channel-icon svg {
  width: 0.26rem;
  height: 0.26rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.srq-page .srq-contact-channel-text {
  display: grid;
  min-width: 0;
  gap: 0.07rem;
}

.srq-page .srq-contact-channel-text > span {
  color: #5d7190;
  font-size: 0.14rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
}

.srq-page .srq-contact-channel-text strong {
  overflow-wrap: anywhere;
  color: #1e344a;
  /* mapbg4：电话/邮箱降为次级并压到单行（原 19→24px 会把邮箱挤成两行） */
  font-size: clamp(16px, 1.1vw, 20px);
  font-weight: 700;
  letter-spacing: 0.015em;
  line-height: 1.35;
  transition: color 160ms ease;
}

/* 电话/邮箱不允许折行：信息区一律单行 */
.srq-page .srq-contact-channels-row .srq-contact-channel-text strong {
  white-space: nowrap;
}

.srq-page .srq-contact-channel:hover strong,
.srq-page .srq-contact-channel:focus-visible strong {
  color: var(--srq-blue);
}

.srq-page .srq-contact-channel:hover .srq-contact-channel-icon,
.srq-page .srq-contact-channel:focus-visible .srq-contact-channel-icon {
  color: #0a6fc0;
}

.srq-page .srq-contact-channel:focus-visible {
  outline: 2px solid var(--srq-blue);
  outline-offset: 0.05rem;
}

/* 地址行（2026-10-30 mapbg4）：地址升为主视觉——排在第一位、比电话/邮箱大一号、
 * 用最深色；电话/邮箱降为次级，收进同排两列，中间一条细线分隔。 */
.srq-page .srq-contact-channel--address {
  align-items: start;
  padding-bottom: 0.18rem;
}

.srq-page .srq-contact-channel--address .srq-contact-channel-icon {
  margin-top: 0.02rem;
}

.srq-page .srq-contact-channel--address strong {
  font-size: clamp(18px, 1.5vw, 24px);
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.45;
}

.srq-page .srq-contact-channels-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.3rem;
  margin-top: 0.1rem;
  padding-top: 0.2rem;
  border-top: 1px solid rgba(30, 52, 74, 0.1);
}

/* 联系我们（2026-10-30 mapbg6）：参考稿口径 —— 地图铺满整个区块作背景，联系信息是
 * 文字直接压在图上（不是另起一块图），公司位置用同心圆 + 公司名点名；地址升为主视觉。
 * 底图=高德 level-17 whitesmoke 截图（POI 地名层开着，所以安居宝科技园 / 南门 / 西北1门
 * 这些本地要素都在；showBuildingBlock 关掉，否则 z17+ 的 3D 楼块在无 GPU 环境整片渲染
 * 成黑块）。桌面/平板用 assets/srq-assets/contact-map-v5.jpg（2800×1098 横图），手机档
 * 用 contact-map-v6-mobile.jpg（1120×1480 竖图）；两张图里公司坐标都在图宽 70% / 图高
 * 50%（拍图时把地图中心西移实现），所以标记钉在同一百分比就永远压住楼位，不再往图里
 * 烙标记（旧版 mapbg3 的同心圆是烙死在 JPG 上的，改图就必须重拍）。
 * ★ background-position 必须显式写 70% 50%，不能写 center：cover 一旦发生横向裁切
 * （面板相对图更“竖”时——平板 701–980 档，以及手机档竖图按高度裁切），image 的 70%
 * 会被搬到面板别的地方；写成 70% 50% 后按 background 的百分比对齐规则，image 的 70%
 * 点在任何裁切下都落在面板 70%，标记的 left:70% 才恒等对位（平板档实测偏差可达面板宽
 * 的 6–10%，即 40–70px）。纵向同理，50% 50% 让公司永远在面板垂直中线。
 * ★ mapzoom7（2026-10-30）：平板/手机档底图各放大一档（155% / 150%，见各档注释）。
 * 放大只动 background-size，position 仍是 70% 50% ⇒ 百分比对齐与 size 无关，图内
 * 70% 点（公司）恒落面板 70%，标记无需改位、图也不用重拍。桌面档保持 cover 不动。
 * 可读性：左侧压一层白色蒙版（0.96→0），地图仍是整幅背景；上下用白色渐隐收边，
 * 右缘用 mask 淡出，所以它不是一块硬贴上去的矩形。 */
.srq-page .srq-about-page--contact .srq-section-shell {
  position: relative;
  overflow: hidden;
}

.srq-page .srq-about-page--contact .srq-about-sec-head {
  position: relative;
  z-index: 1;
}

.srq-page .srq-contact-map {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.srq-page .srq-contact-map-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,
      rgba(255, 255, 255, 0.96) 0%,
      rgba(255, 255, 255, 0.9) 22%,
      rgba(255, 255, 255, 0.62) 44%,
      rgba(255, 255, 255, 0.26) 62%,
      rgba(255, 255, 255, 0) 78%),
    linear-gradient(180deg,
      #fff 0%,
      rgba(255, 255, 255, 0) 12%,
      rgba(255, 255, 255, 0) 88%,
      #fff 100%),
    url("../srq-assets/contact-map-v5.jpg") 70% 50% / cover no-repeat;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 94%, rgba(0, 0, 0, 0) 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 94%, rgba(0, 0, 0, 0) 100%);
}

/* 品牌胶囊：钉在公司坐标上（图宽 70% / 图高 50%），上面一颗圆点标出确切位置 */
.srq-page .srq-contact-map-pin {
  position: absolute;
  left: 70%;
  top: 50%;
  /* 圆心必须压在坐标点上：整组上移半个核心高度，名称往下挂，不再把整组居中 */
  transform: translate(-50%, -0.05rem);
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 焦点标记沿用 mapbg3 的同心圆语言（柔光晕 + 两圈 + 实心蓝核 + 白环），只是从
 * JPG 里烙死改成 HTML/CSS 现画；标注改放公司名（EN 面自动走 company_name）。 */
.srq-page .srq-contact-map-pin-mark {
  position: relative;
  width: 0.1rem;
  height: 0.1rem;
  border-radius: 50%;
  background: #0a6fc0;
  box-shadow: 0 0 0 0.03rem #fff, 0 0.02rem 0.06rem rgba(9, 39, 66, 0.28);
}

.srq-page .srq-contact-map-pin-mark::before,
.srq-page .srq-contact-map-pin-mark::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}

.srq-page .srq-contact-map-pin-mark::before {
  inset: -0.1rem;
  border: 0.02rem solid rgba(10, 111, 192, 0.55);
  background: rgba(10, 111, 192, 0.1);
}

.srq-page .srq-contact-map-pin-mark::after {
  inset: -0.22rem;
  border: 0.02rem solid rgba(10, 111, 192, 0.3);
  background: rgba(10, 111, 192, 0.07);
}

.srq-page .srq-contact-map-pin-name {
  margin-top: 0.24rem;
  color: #14324e;
  font-size: clamp(13px, 0.5vw + 8px, 16px);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
  white-space: nowrap;
  text-shadow: 0 1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff, 0 -1px 0 #fff, 0 0 6px rgba(255, 255, 255, 0.9);
}

@media (max-width: 980px) {
  .srq-page .srq-contact-details-grid {
    grid-template-columns: 1fr;
    gap: 0.42rem;
  }

  /* 单列堆叠（mapbg4）+ mapbg6：内容全宽单列、字直接压在图上，蒙版必须分段——公司
   * 标记钉在 50% 高度，上下都有文字（地址约占 35–50%、电话/邮箱 70–83%），整幅一路
   * 压到底既会把标记那一带的地图糊掉，也留不住文字对比。所以：30%→44% 从 0.90 收到
   * 0.62，44–58% 平铺 0.60 让公司和园区露出来，58%→70% 再压回 0.90 托住电话/邮箱，
   * 末端收 0.62。 */
  .srq-page .srq-contact-map-bg {
    background:
      linear-gradient(180deg,
        rgba(255, 255, 255, 0.94) 0%,
        rgba(255, 255, 255, 0.90) 30%,
        rgba(255, 255, 255, 0.62) 44%,
        rgba(255, 255, 255, 0.60) 58%,
        rgba(255, 255, 255, 0.90) 70%,
        rgba(255, 255, 255, 0.62) 100%),
      /* 这一档面板比图“竖”（728×373 档 AR 1.95 ≪ 图 2.55），cover 走横向裁切，
       * center 会把公司点推到面板 76%（768 档实测），标记必须跟着走位才能对位；
       * 写 70% 50% 则裁切被吸收，标记的 left:70% 恒等成立。
       * ★ mapzoom7：底图按 155% 放大（不换图）。cover 口径下这一档每 CSS px 摊
       * 1.62 m 地面（PC 1920 档只有 1.16 m），地图看着比 PC 更“远”、路名和园区
       * 都糊成一团；155% 后摊 1.05 m，反而比 PC 略近一档，正好是“在原 PC 基础上
       * 适当放大”。放大后仍必须用百分比定位：background-position 的百分比对齐
       * 与 size 无关（图内 70% 点恒落面板 70%），所以 left:70% 全档不变、无需重拍。
       * 覆盖性：图 AR 2.55，155% 时图高 = 1.55W/2.55 = 0.608W，本档最“方”的
       * 701 档 W/H = 640/373.2 = 1.71 ⇒ 图高 389 > 面板 373，不会露白。 */
      url("../srq-assets/contact-map-v5.jpg") 70% 50% / 155% auto no-repeat;
    -webkit-mask-image: none;
    mask-image: none;
  }

  /* mapbg6：平板档保留品牌胶囊（mapbg4 曾整档收起，结果地图上看不出公司在哪）。
   * 这一档地址在左、电话/邮箱在下，公司点落在 70% 面板宽处，胶囊与文字不重叠：
   * 768 档胶囊 466→631，左侧地址行止于 440、电话标签在 261 才起。 */
  .srq-page .srq-contact-map-pin-mark::before {
    inset: -0.08rem;
  }

  .srq-page .srq-contact-map-pin-mark::after {
    inset: -0.17rem;
  }

  /* mapzoom7：平板/手机档不再挂公司名，只留同心圆点名（2026-10-30 定）。
   * 这两档面板窄，公司名往下挂要吃掉 20 多 px 高度，而标记与文字之间本来就只有
   * 一条缝；名称属于“说明性”信息，缩到这一档已经读不出层级，直接收掉。 */
  .srq-page .srq-contact-map-pin-name {
    display: none;
  }

  /* 701–745 这一段面板最窄，公司点（70% = 448）离地址行尾（90+350=440）只剩 8px，
   * 而外圈半径 22px 会把弧线压到末两个字上。两处各让一点：地址降一档到 17px
   * （行宽 350→330，止于 420）、同心圆外圈收到 0.17rem（左缘 431），留出 11px。 */
  .srq-page .srq-contact-channel--address strong {
    font-size: clamp(17px, 1.4vw, 22px);
  }

  .srq-page .srq-contact-channels {
    grid-template-columns: 1fr;
    gap: 0;
  }

  /* mapbg6：分隔发丝线撤掉——单列堆叠后，公司标记正好落在「地址」与「电话/邮箱」
   * 之间那道留白里，发丝线会从同心圆当间横穿过去（文字层绘在标记之上）。留白本身
   * 已经把两段分开，不必再画线。 */
  .srq-page .srq-contact-channels-row {
    border-top: 0;
  }

}

@media (max-width: 700px) {
  .srq-page .srq-contact-channels {
    grid-template-columns: 1fr;
    gap: 0;
  }

  /* mapbg4：窄屏电话/邮箱也改单列，避免长邮箱挤成两行 */
  .srq-page .srq-contact-channels-row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .srq-page .srq-contact-channel {
    min-height: 0.82rem;
    grid-template-columns: 0.30rem minmax(0, 1fr);
    gap: 0.10rem;
  }

  .srq-page .srq-contact-channel-icon {
    width: 0.30rem;
    height: 0.30rem;
  }

  .srq-page .srq-contact-channel-icon svg {
    width: 0.19rem;
    height: 0.19rem;
  }

  /* mapbg6 手机档：底图换成竖向拍摄的公司区域特写（contact-map-v6-mobile.jpg，
   * 公司坐标在图宽 70% / 图高 50%，与桌面横图同一套百分比，标记的 left 不用另写）。
   * 手机面板 360×373 的 AR 0.97 比竖图 0.76 宽，cover 走纵向裁切 ⇒ 整幅图宽都在
   * 画面里，公司横向位置原样传到面板 70%；宽幅横图在竖屏下被纵向切掉大半，容易只
   * 切到公司以外的街区。
   * ★ mapzoom7：150% 放大（同平板档理由——cover 口径下这一档每 CSS px 摊 1.71 m
   * 地面，比 PC 的 1.16 m 远得多，路名小到 8px 级）。150% 后摊 1.14 m，略近 PC。
   * 放大后横向也裁切了，但百分比对齐与 size 无关，图内 70% 仍恒落面板 70%，
   * left:70% 不动；覆盖性：图高 = 1.5W/0.757 = 1.98W ≫ 面板高，本档恒满。 */
  .srq-page .srq-contact-map-bg {
    background:
      /* 公司落在 50% 高度一带，蒙版不能再沿 0.94→0.62 一路压到底（那样最浓的顶部
       * 盖住的正是公司所在的那一带，看得清的只剩南边的科学大道）。改成顶部仍厚、
       * 中段放到 0.78，让公司园区透出来。 */
      linear-gradient(180deg,
        rgba(255, 255, 255, 0.94) 0%,
        rgba(255, 255, 255, 0.92) 22%,
        rgba(255, 255, 255, 0.78) 50%,
        rgba(255, 255, 255, 0.56) 100%),
      url("../srq-assets/contact-map-v6-mobile.jpg") 70% 50% / 150% auto no-repeat;
  }

  /* mapzoom7 手机档标记：left/top 与圆环尺寸仍继承 ≤980 档（70% / 50%、外圈 0.17rem），
   * 公司名已在 ≤980 档收起，这里只调色。
   * ★ 淡化色差：桌面档的三层蓝（实心核 #0a6fc0 + 0.55/0.30 两圈 + 0.28 投影）放到手机
   * 这一档太扎眼——面板只有 360×373、底下又是浅灰底图，实心蓝点像贴纸。按“看得见但不
   * 抢字”的口径压：核降到 0.82 透明、两圈描边 0.34/0.17、填充 0.06/0.04、投影 0.16。 */
  .srq-page .srq-contact-map-pin-mark {
    background: rgba(10, 111, 192, 0.82);
    box-shadow: 0 0 0 0.025rem rgba(255, 255, 255, 0.9), 0 0.02rem 0.06rem rgba(9, 39, 66, 0.16);
  }

  .srq-page .srq-contact-map-pin-mark::before {
    border-color: rgba(10, 111, 192, 0.34);
    background: rgba(10, 111, 192, 0.06);
  }

  .srq-page .srq-contact-map-pin-mark::after {
    border-color: rgba(10, 111, 192, 0.17);
    background: rgba(10, 111, 192, 0.04);
  }

  /* mapzoom7：地址与电话之间的空当收窄。原来这一段吃掉了 0.18rem（地址行 padding-bottom）
   * + 0.10rem（本行 margin-top）+ 0.20rem（本行 padding-top）+ 0.16rem（通道 padding-top）
   * ≈ 64px 的“结构留白”，地址末字到「联系电话」标签实测 71.5px，比电话→邮箱那一段
   * （38.2px）厚了将近一倍。这里只削本行的 0.10rem + 0.16rem（20px→4px），留 0.18/0.16
   * 两段呼吸位，实测收到 45.5px，与下一段 38.2px 基本同一节奏。 */
  .srq-page .srq-contact-channels-row {
    margin-top: 0;
    padding-top: 0.04rem;
  }

  /* 地址压到 11–17px 后，栏目标签（0.14rem=14px）会跟它一样大、层级压平，跟着降一档 */
  .srq-page .srq-contact-channel-text > span {
    font-size: 0.12rem;
  }

  /* mapbg5 手机档：中文地址压成单行。实测整串在 18px 时宽 349.7px（≈19.4px/字），
   * 上面把图标列从 0.48+0.15 收到 0.30+0.10（≈23px）后可用宽 = 100vw - 100px，
   * 于是字号按 (100vw - 100)/19.8 反推（留 2% 余量防字体回退变宽），封顶 17px、
   * 320 档约 11px 封底。英文地址串 88 字符，同样公式会压到 6px 以下，故只限中文面，
   * 英文面继续折行（要单行只能改文案）。 */
  html[lang^="zh"] .srq-page .srq-contact-channel--address strong {
    white-space: nowrap;
    font-size: clamp(11px, calc((100vw - 100px) / 19.8), 17px);
  }

}

/* mapzoom7 补丁（EN 面）：≤980 两档把地图锚点往下挪到 60%。
 * 中文面地址是一行（≤700 还 nowrap），同心圆正好落在「地址↔电话」那道 ~45px 的
 * 留白里（70% / 50% 不变）。英文面地址是 2–3 行（"Rooms 415/417, Building F, No. 8
 * Qiyun Road, Huangpu District, Guangzhou, Guangdong"），末行一直铺到 x≈245–694，
 * 50% 高度的圆环直接从末行尾巴上切过去：390 档纵向压 14.8px、768 档压 26.9px
 * （探针实测）。地址宽度不能收（收了就要多折一行），所以对 EN 面下移锚点：
 * background-position 与 pin 的 top 必须同改，图内 60% 点才仍对齐面板 60%。
 * 60% 下环心 224（373 面板）、环 207–241：390 档 EN 地址止于 184.4（留 22.6px）、
 * 768 档止于 196.5（留 10.5px），电话标签本身在 x<130，与 x 235–269 的环不相交。
 * 挪锚点后地图可视窗口从 24–76% 变 34–86%，公司仍在窗口内，标记仍压在楼上。 */
@media (max-width: 980px) {
  html[lang^="en"] .srq-page .srq-contact-map-bg {
    background-position: 0 0, 70% 60%;
  }

  html[lang^="en"] .srq-page .srq-contact-map-pin {
    top: 60%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .srq-page .srq-contact-channel-text strong {
    transition: none;
  }
}

html[lang^="en"] .srq-page .srq-contact-channel-text > span,
html[lang^="en"] .srq-page .srq-contact-channel-text strong {
  letter-spacing: 0.02em;
}

/* Global base font-size: the rem scaling curve lives in srq-base.css
   (1rem = 100px @1440, tablet band <=1024 scales 768-design, mobile <=768 fixed).
   body 16px kept as 0.16rem when the old 108px html layer was retired. */
body {
  font-size: 0.16rem;
}

/* Shared service pages keep navigation secondary to the technical content. */
.srq-page .srq-editor-page--service {
  padding: 0.72rem 0 0.864rem;
  background: transparent;
}

.srq-page .srq-editor-page--service .srq-section-shell {
  padding-top: 0;
}

.srq-page .srq-editor-shell--service {
  display: grid;
  grid-template-areas: "aside article";
  grid-template-columns: minmax(2.2rem, 2.4rem) minmax(0, 1fr);
  align-items: start;
  gap: 0.72rem;
  width: 100%;
}

.srq-page .srq-editor-shell--service .srq-editor-content {
  grid-area: article;
  width: 100%;
  max-width: none;
}

.srq-page .srq-page-aside--service {
  display: block;
  grid-area: aside;
  min-width: 0;
}

.srq-page .srq-service-page-opening, .srq-page .srq-sol-opening {
  max-width: 9.8rem;
  padding: 0 0 0.34rem;
}

.srq-page .srq-service-page-breadcrumb a {
  color: #51667d;
  text-decoration: none;
}

.srq-page .srq-service-page-breadcrumb a:hover,
.srq-page .srq-service-page-breadcrumb a:focus-visible {
  color: #003366;
}

.srq-page .srq-service-page-opening h1, .srq-page .srq-sol-opening h1 {
  margin: 0;
  color: var(--srq-ink);
  font-size: 0.4608rem;
  font-weight: 750;
  letter-spacing: 0.035em;
  line-height: 1.18;
}

.srq-page .srq-service-directory ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
/* svcdir13 (2026-09-22): the legacy bare-class sticky rule (was here,
   top 1.18rem) is deleted — it only ever hit the two desktop rails (the
   bare class is exclusively co-mounted with --desktop; the mobile strip
   uses srq-service-directory-mobile) and would have re-pinned the rails
   after the :8567 block below went static. Rollback:
   srq-overrides.css.bak-20260922-svcdir13 */

.srq-page .srq-service-directory h2 {
  margin: 0 0 0.12rem;
  color: var(--srq-ink);
  font-size: 0.16rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.srq-page .srq-service-directory-branch {
  margin: 0;
}

.srq-page .srq-service-directory-root,
.srq-page .srq-service-directory-children a {
  display: block;
  border-left: 0.03rem solid transparent;
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.srq-page .srq-service-directory-root {
  margin: 2px 0;
  padding: 0.1rem 0.12rem;
  color: #4d6177;
  font-size: 0.15rem;
  font-weight: 700;
  line-height: 1.5;
}

.srq-page .srq-service-directory-branch.is-active-branch .srq-service-directory-root:not(.is-current) {
  color: #003366;
}

.srq-page .srq-service-directory-root:hover,
.srq-page .srq-service-directory-root:focus-visible,
.srq-page .srq-service-directory-children a:hover,
.srq-page .srq-service-directory-children a:focus-visible {
  background: rgba(0, 51, 102, 0.045);
  color: #003366;
}

.srq-page .srq-service-directory-root.is-current,
.srq-page .srq-service-directory-children a.is-current {
  border-left-color: #003366;
  background: #edf4fa;
  color: #003366;
}

.srq-page .srq-service-directory-children {
  margin: 0.03rem 0 0.08rem 0.14rem !important;
  padding: 0 0 0 0.08rem !important;
}

.srq-page .srq-service-directory-children a {
  padding: 0.08rem 0.1rem;
  color: #6a7a8d;
  font-size: 0.13rem;
  font-weight: 600;
  line-height: 1.52;
}

.srq-page .srq-service-page-breadcrumb a:focus-visible,
.srq-page .srq-service-directory a:focus-visible,
.srq-page .srq-service-directory-mobile summary:focus-visible {
  outline: 2px solid rgba(0, 51, 102, 0.56);
  outline-offset: 0.03rem;
}

.srq-page .srq-service-directory-mobile {
  display: none;
}

@media (max-width: 720px) {
  .srq-page .srq-editor-page--service {
    padding: 0.42rem 0 0.6rem;
  }

  .srq-page .srq-editor-shell--service {
    grid-template-areas:
      "aside"
      "article";
    grid-template-columns: minmax(0, 1fr);
    gap: 0.36rem;
  }

  .srq-page .srq-service-directory-mobile {
    display: block;
    border-top: 1px solid rgba(0, 51, 102, 0.14);
    border-bottom: 1px solid rgba(0, 51, 102, 0.14);
  }

  .srq-page .srq-service-directory-mobile summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 0.52rem;
    color: var(--srq-ink);
    cursor: pointer;
    font-size: 0.16rem;
    font-weight: 750;
    list-style: none;
  }

  .srq-page .srq-service-directory-mobile summary::-webkit-details-marker {
    display: none;
  }

  .srq-page .srq-service-directory-mobile summary::after {
    color: #003366;
    content: "+";
    font-size: 0.21rem;
    font-weight: 400;
    line-height: 1;
  }

  .srq-page .srq-service-directory-mobile[open] summary::after {
    content: "−";
  }

  .srq-page .srq-service-directory-mobile nav {
    padding: 0 0 0.14rem;
  }

  .srq-page .srq-service-directory-mobile .srq-service-directory-children {
    max-height: none;
    overflow: visible;
  }
}

@media (max-width: 768px) {
  .srq-page .srq-editor-page--service {
    padding: 0.34rem 0 0.5rem;
  }

  .srq-page .srq-service-page-opening, .srq-page .srq-sol-opening {
    padding-bottom: 0.27rem;
  }

  .srq-page .srq-service-page-opening h1, .srq-page .srq-sol-opening h1 {
    font-size: clamp(29px, 7.6vw, 38px);
  }

  .srq-page .srq-service-directory-children a {
    font-size: 0.14rem;
  }
}

/* Let the services menu follow the compact industry-solutions dropdown pattern. */
@media (min-width: 769px) {
  .srq-page .srq-menu .srq-menu-item.srq-menu-wide {
    position: relative;
  }

  .srq-page .srq-menu .srq-menu-wide .srq-nav-panel {
    left: 0;
    width: max-content;
    min-width: 1.4rem;
    max-width: calc(100vw - 24px);
    transform: none;
  }

  .srq-page .srq-service-menu {
    display: block;
    border-top: 1px solid rgba(0, 51, 102, 0.16);
    box-shadow: 0 0.14rem 0.28rem rgba(8, 29, 72, 0.1);
  }

  .srq-page .srq-service-menu .srq-service-root-list {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    padding: 0.04rem 0;
    column-gap: 0;
  }

  .srq-page .srq-service-menu .srq-service-root-item {
    min-height: 0;
    padding: 0;
    border-bottom: 0;
  }

  .srq-page .srq-service-menu .srq-service-root-item span {
    padding: 0.1rem 0.16rem;
    font-size: 0.15rem;
    font-weight: 400;
    line-height: 1.45;
    white-space: nowrap;
    overflow-wrap: normal;
  }

  .srq-page .srq-service-menu .srq-service-root-item:hover span,
  .srq-page .srq-service-menu .srq-service-root-item:focus-visible span {
    color: var(--srq-blue);
    background-color: rgba(0, 51, 102, 0.06);
    background-image: none;
  }
}

/* Keep the service redesign last so legacy service rules cannot change its geometry. */
.srq-page .srq-editor-page--service {
  padding: 0.6912rem 0 0.864rem;
  background: #fff;
}

.srq-page .srq-editor-shell--service {
  grid-template-areas: "aside article";
  grid-template-columns: minmax(2.1rem, 2.32rem) minmax(0, 1fr);
  gap: 0.72rem;
}

.srq-page .srq-editor-shell--service .srq-editor-content {
  max-width: none;
}

.srq-page .srq-service-page-opening, .srq-page .srq-sol-opening {
  max-width: none;
  padding: 0 0 0.34rem;
  border-bottom: 1px solid rgba(19, 34, 56, 0.13);
}

.srq-page .srq-service-page-opening h1, .srq-page .srq-sol-opening h1 {
  margin: 0;
  font-size: 0.54rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.srq-page .srq-service-page-body > p, .srq-page .srq-sol-body > p, .srq-page .srq-service-page-body > ul, .srq-page .srq-sol-body > ul, .srq-page .srq-service-page-body > ol, .srq-page .srq-sol-body > ol {
  max-width: none;
}

.srq-page .srq-service-page-body > p, .srq-page .srq-sol-body > p {
  margin: 0 0 0.18rem;
}

.srq-page .srq-service-directory {
  top: 1.08rem;
}

.srq-page .srq-service-directory h2 {
  margin-bottom: 0.16rem;
  font-size: 0.17rem;
  font-weight: 700;
}

.srq-page .srq-service-directory-root {
  margin: 0 0 2px;
  padding: 0.1rem 0.12rem;
  border-left-width: 2px;
  font-size: 0.15rem;
  font-weight: 700;
}

.srq-page .srq-service-directory-branch.is-active-branch .srq-service-directory-root {
  border-left-color: var(--srq-blue);
  background: #f2f7fb;
  color: var(--srq-blue);
}

.srq-page .srq-service-directory-groups {
  margin: 0.09rem 0 0.17rem;
}

.srq-page .srq-service-directory-group-label {
  display: block;
  margin: 0.14rem 0 0.04rem 0.14rem;
  color: #1980a8;
  font-size: 0.11rem;
  font-weight: 700;
  letter-spacing: 0.09em;
}

.srq-page .srq-service-directory-children {
  margin: 0 0 0.05rem 0.14rem !important;
  padding: 0 0 0 0.08rem !important;
  border-left: 1px solid rgba(19, 34, 56, 0.12);
}

.srq-page .srq-service-directory-children a {
  padding: 0.07rem 0.09rem;
  border-left: 0;
  font-size: 0.13rem;
  font-weight: 500;
}

.srq-page .srq-service-directory-children a.is-current {
  border-left: 2px solid #1980a8;
  background: #f2f7fb;
  color: var(--srq-blue);
  font-weight: 700;
}

@media (max-width: 720px) {
  /* dirkeep1 (2026-09-14): shell collapse is phones-only — 721-1024 keeps the
     desktop two-column shell. Still true from tabdir1: the collapsed strip
     must LEAD the body ("aside" before "article"), not trail it ~1600-2500px
     down the page. Same swap in the duplicate legacy band blocks at :577 and
     :2251, and in the strip-styling block above. */
  .srq-page .srq-editor-shell--service {
    grid-template-areas: "aside" "article";
    grid-template-columns: minmax(0, 1fr);
    gap: 0.38rem;
  }

  .srq-page .srq-service-directory--desktop {
    display: none;
  }

  .srq-page .srq-service-directory-mobile {
    display: block;
  }
}

@media (max-width: 720px) {
  .srq-page .srq-editor-page--service {
    padding: 0.34rem 0 0.54rem;
  }

  .srq-page .srq-service-page-opening, .srq-page .srq-sol-opening {
    padding-bottom: 0.27rem;
  }

  .srq-page .srq-service-page-opening h1, .srq-page .srq-sol-opening h1 {
    font-size: clamp(30px, 8vw, 42px);
  }
}


html body .srq-page .srq-editor-content--service-global + .srq-page-aside .srq-service-directory {
  background: #fff;
}

html body .srq-page .srq-editor-content--service-global .srq-service-page-opening, html body .srq-page .srq-editor-content--service-global .srq-sol-opening {
  position: relative;
}

/* CCC uses a concise page opening without the generic service summary. */
html body .srq-page .srq-service-page-opening--ccc h1 {
  text-align: center;
}

/* Header inner now shares the content canvas: no header-specific width rule,
   so it inherits the generic .srq-inner geometry and stays flush with the
   body sections at every breakpoint. */
html body .srq-page .srq-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 0.08rem 0.2rem rgba(8, 29, 72, 0.05);
  backdrop-filter: blur(0.12rem);
}

html body .srq-page .srq-header-main {
  height: auto;
  min-height: 0.46rem;
  background: transparent;
  box-shadow: none;
}

html body .srq-page .srq-header-tools {
  gap: 0.08rem;
}

html body .srq-page .srq-menu .srq-menu-link {
  padding: 0.05rem 0.12rem;
  color: var(--srq-ink);
  font-size: 0.18rem;
  font-weight: 500;
  line-height: inherit;
}

html body .srq-page .srq-menu .srq-menu-link.is-current, html body .srq-page .srq-menu .srq-menu-link:hover {
  color: var(--srq-blue);
}

@media (min-width: 769px) {
  html body .srq-page .srq-header-main {
    height: 0.7rem;
    min-height: 0.7rem;
  }

  html body .srq-page .srq-header-tools {
    gap: 0.12rem;
  }

  html body .srq-page .srq-menu .srq-menu-link {
    height: 100%;
    justify-content: center;
    white-space: nowrap;
  }
}

/* navlogo (2026-10-20): desktop menu downshift starts at the desktop band
   (>=1025) — 769-1024 is drawer territory now. */
@media (min-width: 1025px) and (max-width: 1366px) {
  html body .srq-page .srq-header-tools {
    gap: 0.04rem;
  }

  html body .srq-page .srq-menu .srq-menu-link {
    padding: 0.05rem 0.09rem;
    font-size: 0.16rem;
  }
}

/* navlogo (2026-10-20): compact header height + drawer link form ride the
   drawer band (<=1024). */
@media (max-width: 1024px) {
  html body .srq-page .srq-header-main {
    height: 0.56rem;
    min-height: 0.56rem;
  }

  html body .srq-page .srq-menu .srq-menu-link {
    height: auto;
    justify-content: flex-start;
    font-size: 0.18rem;
  }
}

/* Service directory: categories organise destinations without impersonating pages. */
html body .srq-page .srq-service-directory-branch.is-active-branch .srq-service-directory-root:not(.is-current) {
  border-left-color: transparent;
  background: transparent;
}

/* svcdir5 (2026-09-16): is-contextual visual rules removed (arrow glyph,
   padding, hover tint, mobile twin) — a detail page's root link now renders
   in the same language as a root page's; the class + aria-label stay in
   markup for semantics. Rollback: srq-overrides.css.bak-20260916-svcdir5. */

html body .srq-page .srq-service-directory-root.is-current {
  margin: 0 0 0.14rem;
  padding: 0.1rem 0.12rem;
  border-left: 2px solid #003366;
  color: #003366;
  background: #edf4fa;
}

html body .srq-page .srq-service-directory-groups {
  margin: 0;
}

html body .srq-page .srq-service-directory-group {
  margin: 0;
  padding: 0;
}

html body .srq-page .srq-service-directory-group + .srq-service-directory-group {
  margin-top: 0.21rem;
}

html body .srq-page .srq-service-directory-group-label {
  display: flex;
  align-items: center;
  gap: 0.1rem;
  margin: 0 0 0.07rem;
  color: #58697b;
  font-size: 0.13rem;
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.45;
}

html body .srq-page .srq-service-directory-group-label::after {
  flex: 1 1 auto;
  min-width: 0.12rem;
  height: 1px;
  background: rgba(30, 61, 88, 0.12);
  content: "";
}

html body .srq-page .srq-service-directory-children {
  margin: 0 !important;
  padding: 0 !important;
  border-left: 0;
}

html body .srq-page .srq-service-directory-children li {
  margin: 0;
}

html body .srq-page .srq-service-directory-link {
  display: block;
  margin: 0;
  padding: 0.08rem 0.1rem;
  border-left: 2px solid transparent;
  color: #566b80;
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 1.52;
  text-decoration: none;
  transition: color 0.18s ease, background-color 0.18s ease;
}

html body .srq-page .srq-service-directory-link:hover,
html body .srq-page .srq-service-directory-link:focus-visible {
  color: #003366;
  background: #f2f7fb;
}

html body .srq-page .srq-service-directory-link.is-current {
  border-left-color: #1980a8;
  color: #003366;
  background: #eaf3f8;
  font-weight: 700;
}

html body .srq-page .srq-service-directory-root:focus-visible,
html body .srq-page .srq-service-directory-link:focus-visible {
  outline: 2px solid rgba(0, 51, 102, 0.56);
  outline-offset: 2px;
}

/* Keep the directory in its own left rail, aligned with the breadcrumb. */
html body .srq-page .srq-service-page-opening, html body .srq-page .srq-sol-opening {
  width: 100%;
  margin-left: 0;
}

html body .srq-page .srq-service-page-opening h1, html body .srq-page .srq-sol-opening h1 {
  text-align: center;
}

html body .srq-page .srq-editor-shell--service {
  align-items: stretch;
}

html body .srq-page .srq-page-aside--service {
  display: flex;
  align-self: stretch;
  padding-top: 0.39rem;
}

html body .srq-page .srq-service-directory {
  box-sizing: border-box;
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  padding-top: 0;
}

/* dirkeep1 (2026-09-14): shell collapse is phones-only; 721-1024 keeps the
   desktop two-column shell (stretch + sticky directory travel). */
@media (max-width: 720px) {
  html body .srq-page .srq-editor-shell--service {
    align-items: start;
  }

  html body .srq-page .srq-page-aside--service {
    display: block;
    padding-top: 0;
  }

  html body .srq-page .srq-service-directory {
    min-height: 0;
    height: auto;
  }

  html body .srq-page .srq-service-directory-mobile .srq-service-directory-groups {
    max-height: none;
    padding-right: 0;
    overflow: visible;
  }
}

/* ==========================================================================
   Footer — two-column layout (logo + phone + qr on the left | 4-column nav on the right)
   Added 2026-08-03 (rev 2). Appended last so it overrides the earlier three-column
   .srq-footer-grid rules at equal specificity (source order wins).
   Rev 3 (2026-08-04): the grid region is shifted (--srq-footer-shift); QR shrunk.
   Rev 5 (2026-08-05): columns swapped (logo left, nav right) and the shift mirrored
   to the right edge (margin-right), so the freed strip now sits on the right.
   Rev 6 (2026-08-05): the two-column block is centered in the footer band
   (--srq-footer-block, margin: 0 auto) with equal side gaps; nav right-aligns
   within that block rather than to the page edge.
   Rev 7 (2026-08-10): nav font restored to full size (17/16px); the block is
   widened (1360px) and right-biased (margin-left:auto) to shrink right-side
   whitespace; stack breakpoint raised to 1280px so four English columns stay
   single-line wherever the two-column layout is shown.
   Rev 8 (2026-08-10): the QR image and its caption are centered inside the right
   column (align-self:center + text-align:center) instead of parked in its
   lower-left; base translate(-8px,8px) neutralized so the centering is exact.
   ========================================================================== */

/* CTA band above the footer grid: originally logo left + service hotline right
   (ceprei.org foot_logo pattern). The brand mark was removed on 2026-11-02 —
   the band now carries the hotline only, right-aligned.
   [history] The band sits ABOVE the footer art container, on the page's white
   canvas: seamless with the content above (no top border, solid white
   background), separated from the footer below by its bottom border — the
   skyline artwork starts right there (srq-footer-bottom slides up behind the
   white wrap via art-lift). The logo-size ladder (200/168/140) and its
   --srq-footer-logo-size token retired with the removed logo (2026-11-02). */
.srq-page .srq-footer-cta-wrap {
  position: relative;
  z-index: 1;
  background: #fff;
  border-bottom: 1px solid rgba(9, 47, 102, 0.14);
}

/* 2026-11-02: the footer logo was removed from this band (the mark already
   lives in the header), so the hotline is now the only child. It keeps its
   previous right-edge position via flex-end instead of space-between. */
.srq-page .srq-footer-cta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.576rem;
  margin: 0;
  padding: 0.3rem 0 0.28rem;
}


.srq-page .srq-footer-cta-phone {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  margin: 0;
  color: #000;
  text-decoration: none;
}

/* No icon, and ceprei.org-style single typography: label and number share
   ONE size (28px) and ONE color (#000) on one vertically-centered line —
   no small-gray-label / big-blue-number mix (服务热线 +86-18666027596). */
.srq-page .srq-footer-cta-phone-text {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
}

.srq-page .srq-footer-cta-phone-label {
  color: #000;
  font-size: 0.28rem;
  font-weight: 400;
}

.srq-page .srq-footer-cta-phone-number {
  color: #000;
  font-size: 0.28rem;
  font-weight: 700;
  line-height: 1.2;
}

/* Two-column footer: nav groups on the left, WeChat QR alone on the right
   (logo + hotline live in the CTA band above). align-items:start pins the QR
   column's top edge to the nav groups' top edge (user 08-31: QR should START
   at the same height as the link groups, not float mid-height). */
.srq-page .srq-footer-grid--two {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.5616rem;
  width: 100%;
  margin: 0;
  max-width: 100%;
}

/* Breathing room between the band's separator and the nav row: srq-footer-bottom
   slides up behind the white band wrap, so without this the shell would start
   exactly at the border. The spacing (44/26/18) also carries #3: the band
   moving OUT of srq-footer-bottom took ~80px of art-container height with it — this
   plus the min-height raise below restore the footer's visual weight. */
.srq-page .srq-footer-shell {
  padding-top: 0.44rem;
  padding-bottom: 0.2rem;
  gap: 0.26rem;
}

.srq-page .srq-footer-legal-band {
  padding-top: 0.18rem;
}

/* Two-column footer zone only: taller art container so the skyline isn't
   squashed after the band left srq-footer-bottom (overrides the 18vw clamp restated
   mid-file — this rule comes later). Stacked (<1320px) keeps its own rhythm. */
@media (min-width: 1280px) {
  .srq-page .srq-footer .srq-footer-bottom {
    min-height: clamp(320px, 26vw, 460px);
  }
}

/* Four nav groups laid out as four side-by-side columns (one column per group). */
.srq-page .srq-footer-nav {
  /* v7 (08-31): four EQUAL tracks so the four group headers spread evenly
     across the whole nav area (user: clustered columns still left a ~540px
     dead hole before the QR). The track gap is small on purpose — each cell
     carries its own trailing whitespace, so the visible rhythm comes from the
     even column starts, not the gap. Constraint: EN's widest group is 242px
     ("Industry Solutions"), so at the 1320px two-column floor each track must
     stay >=242px → gap must stay <=~26px there. Links stay nowrap there
     (10-20: scoped to this zone — see the nowrap block below); a track that
     is too narrow would run its text into the next column. */
  grid-template-columns: repeat(4, minmax(0, 1fr));
  justify-content: start;
  gap: 22px clamp(20px, 1.8vw, 36px);
  margin-left: 0;
  padding-top: 0;
  justify-self: stretch;
  align-self: start;
}

/* Font restored to full size (17/16px). 10-20 (footernavqr): nowrap pulled OUT
   of these base rules into the >=1320px block right below — it used to be
   unguarded at every width while the tracks are minmax(0,1fr) (shrinkable to
   0), so narrow viewports ran the single-line text straight into the neighbor
   column (EN overlap band 769-1080px, plus real-device text-size-adjust font
   inflation on phones). <=1319px wraps instead, where the widened 2-col tracks
   mean only EN's longest strings ever wrap. */
.srq-page .srq-footer-nav .srq-footer-links-group h3 {
  font-size: 0.22rem;
}
.srq-page .srq-footer-nav .srq-footer-links-group a {
  font-size: 0.16rem;
}

/* nowrap lives ONLY where the v7 four-column contract holds: the >=1320px
   two-column zone, whose tracks stay >=242px (see constraint in the nav rule
   above). Everywhere else the text wraps rather than overflows. */
@media (min-width: 1320px) {
  .srq-page .srq-footer-nav .srq-footer-links-group h3,
  .srq-page .srq-footer-nav .srq-footer-links-group a {
    white-space: nowrap;
  }
}

/* Right column: the WeChat QR alone (was 148px → 108px → 128px on 08-31: the
   user wanted it visibly larger so the right side carries its own weight next
   to the nav row; 128px + caption still fits inside the ~200px nav-group
   height). The qr-size variable cascades to the image, its box and caption
   width. transform:none cancels the base translate(-8px,8px) nudge so the
   column alignment lands exactly. */
.srq-page .srq-footer-qr-col {
  --srq-footer-qr-size: 1.28rem;
  display: flex;
  align-items: center;
  justify-self: end;
  /* v8 (08-31): user wanted the QR pulled in from the right edge a little —
     it sat exactly on the canvas line like the band above it. Stacked layout
     (<1320px) left-aligns the column, where this margin is a no-op. */
  margin-right: clamp(40px, 4.44vw, 96px);
}

.srq-page .srq-footer-qr-col .srq-footer-qr {
  margin: 0;
  padding-top: 0; /* base has 12px — kills the top alignment with the nav groups */
  transform: none;
}

/* Caption matches the nav link size (公司简介 etc. = 16px, was 12px), single
   line in BOTH languages. At the base 0.08em letter-spacing EN "Official
   Account" measures exactly 128px = column width, which rounds into a wrap —
   0.04em brings it to 118px (zh 微信公众号 stays ~82px). */
.srq-page .srq-footer-qr-col .srq-footer-qr figcaption {
  font-size: 0.16rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
}



@media (max-width: 768px) {
  .srq-page .srq-footer-cta-wrap {
    }

  /* Mobile keeps the previous QR size — 128px would eat a third of a 390px
     viewport; since 10-20 the QR shares the row with the collapsed 1-2 col
     nav, where this matters even more. */
  .srq-page .srq-footer-qr-col {
    --srq-footer-qr-size: 1.08rem;
  }

  .srq-page .srq-footer-cta {
    flex-wrap: wrap;
    gap: 0.12rem 0.18rem;
    margin-bottom: 0.2rem;
    padding-bottom: 0.14rem;
  }

  .srq-page .srq-footer-cta-phone-text {
    gap: 0.08rem;
  }

  .srq-page .srq-footer-cta-phone-label {
    font-size: 0.18rem;
  }

  .srq-page .srq-footer-cta-phone-number {
    font-size: 0.18rem;
  }
}

/* ---------- Responsive ---------- */

/* Below 1320px (10-20 footernavqr, 方案甲): nav and QR stay SIDE BY SIDE
   instead of stacking — the stacked form spent a full-width ~180px row on the
   QR alone with a huge dead band to its right in every stacked band. The nav
   drops to two columns (one below 560px) so its tracks widen past EN's widest
   string, and the QR rides the right canvas edge, top-aligned with the group
   headers — mirroring the >=1320px two-column zone. The v8 right pull-in
   (margin-right clamp) is a wide-canvas luxury and is zeroed here to give the
   nav tracks the width; the text now wraps instead of overflowing, so no
   1280-1319 gutter arithmetic is needed anymore. */
@media (max-width: 1319px) {
  .srq-page .srq-footer-grid--two {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: clamp(16px, 4vw, 40px);
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }

  .srq-page .srq-footer-qr-col {
    justify-self: end;
    align-self: start;
    margin-right: 0;
  }

  .srq-page .srq-footer-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Phone: navigation groups collapse from four columns to two. */
@media (max-width: 768px) {
  .srq-page .srq-footer-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Small phones: single column of nav groups sharing the row with the QR.
   The QR steps down 108→88px and the caption to 12px so the single nav track
   keeps enough width for EN's 242px strings (at 320px viewport: track 160px
   vs 140px with a 108px QR — the difference between 2-line and 3-line wraps;
   zh never wraps here either way). */
@media (max-width: 560px) {
  .srq-page .srq-footer-nav {
    grid-template-columns: minmax(0, 1fr);
  }

  .srq-page .srq-footer-grid--two {
    column-gap: 12px;
  }

  .srq-page .srq-footer-qr-col {
    --srq-footer-qr-size: 0.88rem;
  }

  .srq-page .srq-footer-qr-col .srq-footer-qr figcaption {
    /* 2026-11-02 typebump-r2: 0.12 → 0.14rem, matching the reference's 14px
       caption tier. */
    font-size: 0.14rem;
  }
}

/* Tiny phones (<=365px, inside the 560 band): no canvas for two side-by-side
   zones — EN's 242px strings need a ~242px track, which next to an 88px QR
   only exists above ~405px viewport. Stack the QR back UNDER the nav here:
   every string unwraps to a single line, and the smaller QR + tighter rhythm
   still land ~70px under the old stacked form. row-gap is set explicitly —
   beside-mode never shows it, but the base 0.5616rem gap would leak here. */
@media (max-width: 365px) {
  .srq-page .srq-footer-grid--two {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.26rem;
  }

  .srq-page .srq-footer-qr-col {
    justify-self: start;
  }
}

/* ==========================================================================
   Rev 9 (2026-08-10): 国际认证资讯 (news) archive page — the filter form
   (keyword search + date range — the "two search boxes") relocated into the
   top-left of the body area.
   - .srq-news-filter--inline switches the relocated filter from its old
     right-aligned header column to left-aligned at the top of the news body.
   The calendar picker is portaled to .srq-page with z-index:2000, so moving the
   trigger out of the header does not affect its overlay stacking.
   (2026-08-24: the old gray header band was replaced by the shared
   .srq-pagehead photo hero — see the section landing photo hero block.)
   ========================================================================== */

/* Drop the editor-page section-shell's 6px top offset so the opening + filter
   sit flush at the top of the (now symmetric) news section padding. Scoped to
   the news listing so service/other editor pages keep their 6px offset. */
.srq-page .srq-section.srq-editor-page.srq-editor-page--news {
  background: rgb(255, 255, 255);
}

.srq-page .srq-editor-page--news .srq-section-shell {
  padding-top: 0;
}

/* Body-area divider under the inline filter, matching the news row dividers
   (1px solid rgba(19,34,56,0.08)). margin-bottom:0 lets the first item's own
   26px top padding provide the gap, so the line reads as the list's top
   boundary instead of floating above it. */
.srq-page .srq-news-filter--inline {
  justify-content: flex-start;
  margin: 0.04rem 0 0;
  padding-bottom: 0.18rem;
  border-bottom: 1px solid rgba(19, 34, 56, 0.08);
}

/* ==========================================================================
   关于辰河页 · 方案A 增强
   （hero 图带直接复用 .srq-subhero，无需新增样式）
   - 分段底色节奏（advantages / partners）
   - 数据看板：深色品牌带
   - 资质徽章清单（替代原办公照伪资质）
   ========================================================================== */

/* —— 分段底色节奏 —— */

/* —— 数据看板：深色品牌带 —— */





/* —— 资质徽章清单 —— */








/* —— 公司简介正文加大字号（仅公司简介正文，不影响公司名大标题与优势段）—— */

@media (max-width: 768px) {
  }

/* 修复：公司名大标题长期被 base 通用正文 p 规则压成正文大小（特异度不足被盖过），
   在此恢复其设计字号，使其明显大于正文（原 .srq-about-page-company-name 意图值）。 */

@media (max-width: 768px) {
  }

/* ============================================================
   关于页 · 方案 B 新增区块（2026-08-20 布局调整后仅存两个）
   企业文化（原使命愿景价值观）/ 核心能力
   底色节奏：profile 白 → 优势 #ebf1f6 → 企业文化 白 → 核心能力 #f5f8fa → 联系 白
   （发展历程 / 服务流程 / 合作伙伴区块已移除，样式历史见 .bak-2026-08-20b）
   ============================================================ */

/* —— 企业文化（使命 · 愿景 · 价值观三卡）—— */







/* —— 核心能力（2×2 卡片 + 能力标签）—— */










/* —— 方案 B 区块移动端（≤768px 单列堆叠）—— */
@media (max-width: 768px) {
  
  }

/* ==========================================================================
   Industry solutions — 左目录右正文（2026-09-08 重建）。
   Shell reuses the service detail-page grid (srq-editor-shell--service) and
   the service directory components; this block only styles what the shell
   does not cover: the flat solution directory height, real editor tables
   (countering the srq-base [class*='editor'] table rules), and the FAQ
   accordion (kept classes; it now lives inside the editor shell).
   ========================================================================== */

/* Quiet editorial opening (2026-09-09, option A, .srq-sol-opening only):
   the service-page opening grammar (42px/800, centered, hairline) reads as
   a banner here — the solution pages have no breadcrumb and their intro
   lives in the body, so the title returns to the body left line at 32px/700
   and the hairline goes. The 39px top padding stays (the title starts level
   with the directory rail — aside padding-top 39px); only the bottom
   tightens. Service detail pages keep the shared opening untouched.
   Specificity beats html body .srq-page .srq-service-page-opening at ~:2009
   and its h1 rules at ~:2017/:9008. */
html body .srq-page .srq-service-page-opening, html body .srq-page .srq-sol-opening {
  padding: 0.39rem 0 0.28rem;
  border-bottom: 0;
}

html body .srq-page .srq-service-page-opening h1, html body .srq-page .srq-sol-opening h1 {
  text-align: left;
  font-size: 0.32rem;
  font-weight: 700;
  line-height: 1.2 !important; /* [class*='editor'] * forces 36px !important — counter at equal weight. */
}

/* The shared body rule (~:2218) adds padding-top 28px of its own — stacked on
   the opening's 28px that made a 56px title-to-lede gap. Zero it here; the
   opening's 28px is the only spacing left. */
html body .srq-page .srq-service-page-body, html body .srq-page .srq-sol-body {
  padding-top: 0;
}

/* Editorial rail (2026-09-09, option A, scoped to the five solution pages):
   drop the legacy #f2f6f8 slab (html body .srq-page .srq-service-directory,
   line ~2044) so the rail sits on the same white canvas as the article.
   svcdir13 (2026-09-22): sticky retired entirely (user call — the reference
   NTEK rail is plain document flow; the pin/crawl/release compound motion
   was the pain). The rail now scrolls 1:1 with the page at natural height.
   Rollback: srq-overrides.css.bak-20260922-svcdir13 */
html body .srq-page .srq-sol-directory, html body .srq-page .srq-service-page-directory {
  align-self: start; /* the :9016 aside stretches its children to the
                        article height — start keeps the rail at its top */
  min-height: 0;
  padding: 0;
  background: transparent;
}

/* Solutions directory: no group label, so the five links carry the rail on
   their own — bump them above the 14px service-directory default, deepen the
   color to the 09-07 muted ink (the old #607b93/400 read ~4.0:1 on the slab),
   and reserve a 3px transparent track so the current-page bar never shifts
   text. The -15px margin pulls the link text back onto the canvas line
   (12px padding + 3px track); the canvas keeps a >=20px viewport gutter at
   the 1025px floor, so the track never clips. */
html body .srq-page .srq-sol-directory .srq-service-directory-link, html body .srq-page .srq-service-page-directory .srq-service-directory-link {
  margin-left: -0.15rem;
  padding: 0.1rem 0.12rem;
  border-left: 0.03rem solid transparent;
  color: #47556b;
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 1.55;
  transition: color 0.18s ease, background-color 0.18s ease,
    border-left-color 0.18s ease;
}

/* Hover deepens along one axis (ink + track tint on a slightly darker fill);
   it must never go lighter than the canvas — that flash was the old #f2f7fb. */
html body .srq-page .srq-sol-directory .srq-service-directory-link:hover, html body .srq-page .srq-service-page-directory .srq-service-directory-link:hover, html body .srq-page .srq-sol-directory .srq-service-directory-link:focus-visible, html body .srq-page .srq-service-page-directory .srq-service-directory-link:focus-visible {
  border-left-color: rgba(0, 51, 102, 0.25);
  color: #003366;
  background: #f5f9fc;
}

html body .srq-page .srq-sol-directory .srq-service-directory-link.is-current, html body .srq-page .srq-service-page-directory .srq-service-directory-link.is-current {
  border-left-color: #003366;
  color: #003366;
  background: #eaf3f8;
  font-weight: 700;
}

/* Service detail pages adopt the solutions shell (2026-09-09, 左目录右正文):
   srq-layout.php's service branch now emits the same .srq-sol-opening /
   .srq-sol-body / .srq-sol-directory modifiers as the solution template, so
   the quiet opening, the zeroed body stack and the editorial rail (incl. the
   sticky follow) carry over unchanged. The service rail only needs its branch
   list aligned — it nests one list deeper than the flat solution rail, and a
   stray margin there would push the back-link and the group labels off the
   canvas line the -15px link arithmetic lands on. The contextual root keeps
   its compact back-link form (left padding 0 = text already on the line). */
html body .srq-page .srq-sol-directory .srq-service-directory-list, html body .srq-page .srq-service-page-directory .srq-service-directory-list {
  margin: 0;
  padding: 0;
}

/* Editor tables render as real tables: counter [class*='editor'] table
   (width 90% !important + margin auto) at equal weight, and the
   [class*='editor'] * 36px !important line-height on cells. */
html body .srq-page .srq-sol-body table, html body .srq-page .srq-service-page-body table {
  width: 100% !important;
  margin: 0.2rem 0 0.1rem !important;
  border-collapse: collapse;
}

html body .srq-page .srq-sol-body th, html body .srq-page .srq-service-page-body th, html body .srq-page .srq-sol-body td, html body .srq-page .srq-service-page-body td {
  border: 1px solid #d5dfe8;
  padding: 0.1rem 0.14rem;
  color: var(--srq-text-body);
  font-size: 0.15rem;
  line-height: 1.6 !important; /* [class*='editor'] * forces 36px !important — counter at equal weight. */
  text-align: left;
  vertical-align: top;
}

html body .srq-page .srq-sol-body thead th, html body .srq-page .srq-service-page-body thead th {
  background: #f2f6f8;
  color: #16334e;
  font-weight: 700;
}

/* ---- FAQ accordion ---- */
.srq-page .srq-sol-faq {
  margin-top: 0.06rem;
  border-top: 1px solid rgba(19, 34, 56, 0.1);
}

.srq-page .srq-sol-faq-item {
  border-bottom: 1px solid rgba(19, 34, 56, 0.1);
}

.srq-page .srq-sol-faq-item summary {
  position: relative;
  padding: 0.14rem 0.36rem 0.14rem 0;
  cursor: pointer;
  list-style: none;
  font-size: 0.16rem;
  font-weight: 600;
  line-height: 1.6 !important; /* [class*='editor'] * forces 36px !important — counter at equal weight. */
  color: #0b3d66;
}

.srq-page .srq-sol-faq-item summary::-webkit-details-marker {
  display: none;
}

.srq-page .srq-sol-faq-item summary::after {
  content: "";
  position: absolute;
  right: 0.08rem;
  top: 50%;
  width: 0.09rem;
  height: 0.09rem;
  border-right: 2px solid #8aa4bd;
  border-bottom: 2px solid #8aa4bd;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.2s ease;
}

.srq-page .srq-sol-faq-item[open] summary::after {
  transform: translateY(-30%) rotate(225deg);
}

.srq-page .srq-sol-faq-item > p {
  margin: 0 0 0.14rem;
  font-size: 0.14rem;
  line-height: 1.8 !important; /* [class*='editor'] * forces 36px !important — counter at equal weight. */
  color: #52657c;
}

/* ≤720px: tables scroll horizontally instead of crushing columns. */
@media (max-width: 720px) {
  html body .srq-page .srq-sol-body table, html body .srq-page .srq-service-page-body table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  html body .srq-page .srq-sol-faq-item summary {
    font-size: 0.15rem;
  }
}

/* =Section landing photo hero（四个顶级落地页共享：services/solutions/news/about）
   全幅照片 + 左重深藏青渐变罩层 + 白色标题/描述（无面包屑）。真实 background 图层，
   不走 .srq-subhero-shell::before 几何（无需 content/position 补丁）。
   08-24 二次修订：参考赛宝 ceprei.org/newinfo 展现形式——标题带固定在上中部
   （约 30% 高度处，原为贴底对齐；flex-start+固定上 padding，标题 y 位不随描述
   行数漂移，与参考站 top:80px 定位同构），横幅加高至 420/330/260，主标题加大
   至 44/34/28。 —— */
.srq-page .srq-pagehead {
  position: relative;
  display: flex;
  align-items: flex-start;
  min-height: 4.2rem;
  /* herotextfluid 2026-10-20: top padding fluid — clamp(96px, 7.8125vw,
     150px); ceiling == old 1.5rem pin (1920px unchanged). Band height
     4.2rem untouched (user-tuned 09-18). */
  padding: clamp(96px, 7.8125vw, 150px) 0 0.64rem;
  background-color: #081d48;
  background-image:
    linear-gradient(90deg, rgba(8, 29, 72, 0.85) 0%, rgba(8, 29, 72, 0.55) 45%, rgba(8, 29, 72, 0.28) 100%),
    var(--srq-pagehead-image);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* herodrift 2026-10-20: centerline anchor — the shell hung off a fluid
   padding-top (clamp(96px, 7.8125vw, 150px)) and drifted 60px up by 1280px
   once the title went fluid. Desktop pins the shell center at the 1920-era
   188.5px band-local (pb = 2*(210 - 188.5) = 0.43rem); align-items:center
   makes that pin invariant to the fluid font size (h1 center = shell center
   - 6px). @1920 shell top stays 150px (pixel-identical); the <=1024 /
   <=768 bands keep flex-start via their own padding shorthands. */
@media (min-width: 1025px) {
  .srq-page .srq-pagehead {
    align-items: center;
    padding: 0 0 0.43rem;
  }
}

.srq-page .srq-pagehead-shell {
  width: 100%;
}

.srq-page .srq-pagehead h1 {
  margin: 0 0 0.12rem;
  color: #fff;
  /* herotextfluid 2026-10-20: fluid pagehead title — clamp(36px, 2.7083vw,
     52px); ceiling == old 0.52rem pin (1920px unchanged). */
  font-size: clamp(36px, 2.7083vw, 52px);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.25;
}

/* typesteps 2026-11-02: same three step points as the homepage carousel, so a
   given viewport renders one type scale across the site. 52 == the old ramp
   ceiling (1920 unchanged); 40 at 1025-1199 lands exactly on the <=1024 band's
   0.4rem, so the 1024/1025 boundary no longer jumps. The pagehead titles are
   short (<=4 glyphs zh), so no width constraint binds here — the ladder is
   pure scale matching. */
@media (min-width: 1440px) {
  .srq-page .srq-pagehead h1 { font-size: 52px; }
}

@media (min-width: 1200px) and (max-width: 1439px) {
  .srq-page .srq-pagehead h1 { font-size: 46px; }
}

@media (min-width: 1025px) and (max-width: 1199px) {
  .srq-page .srq-pagehead h1 { font-size: 40px; }
}

@media (max-width: 1024px) {
  .srq-page .srq-pagehead {
    min-height: 3.6rem;
    padding: 1.1rem 0 0.5rem;
  }

  .srq-page .srq-pagehead h1 {
    font-size: 0.4rem;
  }
}

@media (max-width: 768px) {
  .srq-page .srq-pagehead {
    min-height: 3rem;
    padding: 0.84rem 0 0.4rem;
  }

  .srq-page .srq-pagehead h1 {
    font-size: 0.32rem;
  }
}

/* ==========================================================================
   关于辰河 · 机构庄重风重造（2026-08-26 · change/about-page-institutional-redesign）
   参照 CEPREI /about/introduction/ 实测：白灰基底 + 锋利机构红点缀 + 思源黑体
   + 01-05 编号章节 + 锚点子导航。旧版 startup 卡片标记（--profile/--advantages/
   --mvv/--capabilities）已从模板下线，其历史样式可回溯 .bak-20260826-about 备份。
   ========================================================================== */

/* —— 全站字体统一雅黑栈（2026-09-18 fontunify，用户拍板）：思源黑体 @font-face 整体
   退役（otf 文件仍留在 srq-media，未删），about 三变量与全站 * 通配同一雅黑栈 —— */
html body .srq-page {
  --srq-about-font-bold: "Microsoft YaHei", "PingFang SC", "WenQuanYi Zen Hei", "Helvetica Neue", Arial, sans-serif;
  --srq-about-font-medium: "Microsoft YaHei", "PingFang SC", "WenQuanYi Zen Hei", "Helvetica Neue", Arial, sans-serif;
  --srq-about-font-text: "Microsoft YaHei", "PingFang SC", "WenQuanYi Zen Hei", "Helvetica Neue", Arial, sans-serif;
}

/* —— 锚点子导航条：磨砂白吸顶（贴固定主导航下沿），蓝色 hover/当前态 —— */
.srq-page .srq-about-subnav {
  position: sticky;
  top: 0.78rem;
  z-index: 15;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(0.08rem);
  -webkit-backdrop-filter: blur(0.08rem);
  border-bottom: 1px solid #e4e9f0;
  box-shadow: 0 2px 0.1rem rgba(8, 29, 72, 0.04);
}
.srq-page .srq-about-subnav-list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
}
.srq-page .srq-about-subnav-item a {
  display: flex;
  align-items: baseline;
  gap: 0.08rem;
  padding: 0.18rem 0.26rem 0.16rem;
  font-size: 0.17rem;
  color: #383838;
  border-bottom: 2px solid transparent;
  transition: color 0.18s ease, border-color 0.18s ease;
}
.srq-page .srq-about-subnav-item a:hover,
.srq-page .srq-about-subnav-item a:focus-visible {
  color: var(--srq-blue);
}
.srq-page .srq-about-subnav-item a.is-current {
  color: var(--srq-blue);
  font-weight: 600;
}
/* F 轮滑动色块：整条导航共享一个指示块，由 scrollspy 驱动在项间滑动。 */
.srq-page .srq-about-subnav-item {
  position: relative;
  z-index: 1;
}
.srq-page .srq-about-subnav-pill {
  position: absolute;
  top: 0.06rem;
  bottom: 0.06rem;
  left: 0;
  width: 0;
  background: #cfe3f2;
  border-radius: 0.08rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
}
.srq-page .srq-about-subnav-pill.is-ready {
  transition: left 0.28s cubic-bezier(0.4, 0, 0.2, 1),
    width 0.28s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.18s ease;
}
.srq-page .srq-about-subnav-pill.is-on {
  opacity: 1;
}

/* —— 章节骨架：纯中文标题 + 蓝色短杠（回归站点家族样式，无编号无英文副标） —— */
.srq-page .srq-about-page {
  padding: 0.56rem 0;
  background: #fff;
}
.srq-page .srq-about-page--cert,
.srq-page .srq-about-page--capmatrix {
  background: #f5f7f9;
}
.srq-page .srq-about-sec-head {
  margin: 0 0 0.32rem;
}
.srq-page .srq-about-sec-head h2 {
  margin: 0;
  font-family: var(--srq-about-font-bold);
  font-size: clamp(24px, 2.2vw, 30px);
  font-weight: 700;
  line-height: 1.3;
  color: #14263e;
  letter-spacing: 0.02em;
}
.srq-page .srq-about-sec-head h2::after {
  content: "";
  display: block;
  width: 0.42rem;
  height: 0.03rem;
  margin-top: 0.13rem;
  background: var(--srq-blue);
  border-radius: 2px;
}
#srq-about-intro,
#srq-about-certifications,
#srq-about-culture,
#srq-about-capabilities,
#srq-about-contact {
  scroll-margin-top: 1.3rem;
}

/* —— 公司简介：左文右图（正文三段 + 照片卡等高） —— */
.srq-page .srq-about-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 4rem;
  gap: 0.56rem;
  align-items: start;
}
.srq-page .srq-about-intro-text {
  margin: 0 0 0.2rem;
  font-family: var(--srq-about-font-text);
  font-size: 0.18rem;
  line-height: 2;
  color: #333;
  text-align: justify;
}
.srq-page .srq-about-intro-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.34rem 0.2rem;
}
.srq-page .srq-about-intro-stats .srq-about-stat {
  text-align: center;
}
.srq-page .srq-about-intro-stats .srq-about-stat strong {
  display: block;
  font-family: var(--srq-about-font-bold);
  font-size: clamp(38px, 3.2vw, 48px);
  font-weight: 700;
  line-height: 1;
  color: var(--srq-blue);
}
.srq-page .srq-about-intro-stats .srq-about-stat-suffix {
  color: var(--srq-cyan);
}
.srq-page .srq-about-intro-stats .srq-about-stat-label {
  display: block;
  margin-top: 0.14rem;
  font-size: 0.14rem;
  letter-spacing: 0.16em;
  color: #47556b;
}

/* —— 资质与认证：灰底章节 + 证书轮播（mrt-cert 同款 coverflow：邻卡 0.75/隔卡 0.5 渐缩外推；无箭头无圆点，自动轮播约 5.2s 进视口才播（末张回首张），鼠标拖拽/点侧卡切换） —— */
.srq-page .srq-about-cert-carousel {
  --srq-cert-card-w: 3rem;
  --srq-cert-gap: 0.32rem;
  position: relative;
}
.srq-page .srq-about-cert-track {
  display: flex;
  gap: var(--srq-cert-gap);
  margin: 0;
  padding: 10px calc(50% - var(--srq-cert-card-w) / 2);
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.srq-page .srq-about-cert-track::-webkit-scrollbar {
  display: none;
}
.srq-page .srq-about-cert-track:focus-visible {
  outline: 2px solid var(--srq-blue);
  outline-offset: -2px;
  border-radius: 0.1rem;
}
.srq-page .srq-about-cert-card {
  flex: 0 0 var(--srq-cert-card-w);
  scroll-snap-align: center;
  position: relative;
  cursor: pointer;
  /* 纯裸图：无壳无投影，扫描件白底即纸面 */
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  will-change: transform;
}
.srq-page .srq-about-cert-card.is-active {
  cursor: default;
}
.srq-page .srq-about-cert-figure {
  margin: 0;
  padding: 0;
}
.srq-page .srq-about-cert-figure img {
  display: block;
  width: 100%;
  height: 4rem;
  object-fit: contain;
  -webkit-user-drag: none;
  pointer-events: none;
}
/* 无箭头设计：桌面鼠标直接拖拽切换（JS pointer 拖拽 + 松手吸附，按下暂停自动轮播、松手续播），touch 仍走原生滚动 */
.srq-page .srq-about-cert-track {
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}
.srq-page .srq-about-cert-track.is-dragging {
  scroll-snap-type: none;
  cursor: grabbing;
}


/* —— 03 企业文化：三张图标卡（内联 SVG 蓝描边） —— */
.srq-page .srq-about-culture-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.24rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.srq-page .srq-about-culture-item {
  padding: 0.3rem 0.28rem 0.28rem;
  background: #fff;
  border: 1px solid #e5eaf2;
  border-radius: 0.1rem;
  box-shadow: 0 0.08rem 0.22rem rgba(8, 29, 72, 0.06);
  text-align: center;
}
.srq-page .srq-about-culture-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.72rem;
  height: 0.72rem;
  color: var(--srq-blue);
}
.srq-page .srq-about-culture-icon svg {
  width: 0.42rem;
  height: 0.42rem;
}
.srq-page .srq-about-culture-title {
  margin: 0.1rem 0 0.12rem;
  font-family: var(--srq-about-font-bold);
  font-size: 0.24rem;
  font-weight: 700;
  color: #14263e;
  letter-spacing: 0.04em;
}
.srq-page .srq-about-culture-text {
  margin: 0;
  font-family: var(--srq-about-font-text);
  font-size: 0.17rem;
  line-height: 2;
  color: #555;
  white-space: pre-line;
}

/* —— 04 核心能力：领域行卡（图标+领域 | 标准芯片 | 交付说明） —— */
.srq-page .srq-about-cap-list {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.srq-page .srq-about-cap-row {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 0.28rem;
  align-items: center;
  padding: 0.26rem 0.3rem;
  background: #fff;
  border: 1px solid #e5eaf2;
  border-radius: 0.1rem;
  box-shadow: 0 0.08rem 0.22rem rgba(8, 29, 72, 0.06);
}
.srq-page .srq-about-cap-head {
  display: flex;
  align-items: center;
  gap: 0.14rem;
}
.srq-page .srq-about-cap-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 0.46rem;
  height: 0.46rem;
  border-radius: 0.1rem;
  background: #eaf2fb;
  color: var(--srq-blue);
}
.srq-page .srq-about-cap-icon svg {
  width: 0.24rem;
  height: 0.24rem;
}
.srq-page .srq-about-cap-title {
  margin: 0;
  font-family: var(--srq-about-font-bold);
  font-size: 0.19rem;
  font-weight: 700;
  color: #14263e;
  letter-spacing: 0.02em;
}
.srq-page .srq-about-cap-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.08rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.srq-page .srq-about-cap-tags li {
  padding: 0.05rem 0.12rem;
  font-size: 0.125rem;
  white-space: nowrap;
  color: var(--srq-blue);
  background: #f2f6fb;
  border: 1px solid #d5e2f1;
  border-radius: 9.99rem;
}
.srq-page .srq-about-cap-desc {
  margin: 0;
  font-family: var(--srq-about-font-text);
  font-size: 0.145rem;
  line-height: 1.9;
  color: #555;
}

/* —— 响应式 —— */
@media (max-width: 1024px) {
  .srq-page .srq-about-intro-grid {
    grid-template-columns: minmax(0, 1fr) 3.2rem;
    gap: 0.4rem;
  }
  .srq-page .srq-about-cap-row {
    grid-template-columns: 2.1rem minmax(0, 1fr);
    row-gap: 0.14rem;
  }
  .srq-page .srq-about-cap-row .srq-about-cap-desc {
    grid-column: 1 / -1;
  }
}
@media (max-width: 900px) {
  .srq-page .srq-about-page {
    padding: 0.48rem 0;
  }
  .srq-page .srq-about-sec-head {
    margin-bottom: 0.26rem;
  }
  .srq-page .srq-about-intro-grid {
    grid-template-columns: 1fr;
    gap: 0.34rem;
  }
  .srq-page .srq-about-culture-grid {
    grid-template-columns: 1fr;
    gap: 0.14rem;
  }
  .srq-page .srq-about-cap-row {
    grid-template-columns: 1fr;
    gap: 0.16rem;
    align-items: start;
  }
}
@media (max-width: 560px) {
  .srq-page .srq-about-subnav {
    top: 0.66rem;
  }
  .srq-page .srq-about-cert-carousel {
    --srq-cert-card-w: min(76vw, 300px);
    --srq-cert-gap: 0.24rem;
  }
  #srq-about-intro,
  #srq-about-certifications,
  #srq-about-culture,
  #srq-about-capabilities,
  #srq-about-contact {
    scroll-margin-top: 1.08rem;
  }
  .srq-page .srq-about-subnav-list {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .srq-page .srq-about-subnav-item a {
    padding: 0.13rem 0.16rem 0.11rem;
    font-size: 0.16rem;
    white-space: nowrap;
  }
  .srq-page .srq-about-cap-row {
    padding: 0.22rem 0.2rem;
  }
}


/* narrow-desktop title step 2026-09-14: mirrors the
   (max-width:1459px) f-series downshift (-2px on titles >=22px).
   Scoped to the 1025-1459 desktop band so the mobile/tablet font
   overrides elsewhere keep winning under 1024. */
@media (min-width:1025px) and (max-width:1459px) {
  /* herotextfluid 2026-10-20: pagehead h1 downshift retired — the base rule
     is a fluid clamp now; this 0.50rem fossil would out-rank it in this band
     by late source order (same trap as the home-card-r5 num downshift). */
  html body .srq-page .srq-service-page-opening h1,
  html body .srq-page .srq-sol-opening h1 { font-size: 0.30rem; }
  html body .srq-page .srq-service-overview-group-head h2 { font-size: 0.20rem; }
  html body .srq-page .srq-service-page-body > h2,
  html body .srq-page .srq-sol-body > h2 { font-size: 0.24rem; }
  html body .srq-page .srq-service-page-body > h3,
  html body .srq-page .srq-sol-body > h3 { font-size: 0.20rem; }
  .srq-page .srq-section-head h2 { font-size: 0.46rem; }
  body.home .srq-page .srq-section-head--home h2 { font-size: 0.32rem; }
    .srq-page .srq-editor-content h2 { font-size: 0.412rem; }
  .srq-page .srq-editor-content h3 { font-size: 0.22rem; }
  .srq-page .srq-page-panel h3 { font-size: 0.22rem; }
  /* herotextfluid 2026-10-20: carousel slide-text h1 downshift retired —
     base rule is clamp(34px, 2.55vw, 48.96px) now (same late-order reason). */
      /* 2026-10-15 home-card-r5: num downshift retired — the numeral is a decorative
     watermark now, not part of the title scale (srq-service-card-num 0.72rem lives at ~:1578). */
  body.home .srq-page .srq-news-side-text h3 { font-size: 0.21rem; }
  .srq-page .srq-news-archive-text h2 { font-size: 0.22rem; }
  .srq-page .srq-news-pagination .page-numbers.next::after { font-size: 0.20rem; }
  /* h1align 2026-09-29: news h1 downshift retired — base title is a flat
     0.36rem at every desktop band now (a 0.3976rem step here would make the
     narrow band LARGER than the full band). */
  .srq-page .srq-news-article-body h2 { font-size: 0.268rem; }
  .srq-page .srq-news-article-body h3 { font-size: 0.2104rem; }
  .srq-page .srq-search-page-head h1 { font-size: 0.30rem; }
  .srq-page .srq-search-empty h2 { font-size: 0.22rem; }
  .srq-page .srq-footer-cta-phone-label { font-size: 0.26rem; }
  .srq-page .srq-footer-cta-phone-number { font-size: 0.26rem; }
  .srq-page .srq-footer-nav .srq-footer-links-group h3 { font-size: 0.20rem; }
  .srq-page .srq-about-culture-title { font-size: 0.22rem; }
}

/* ==========================================================================
   Expandable service directory (svcdir1, 2026-09-15) — per-branch native
   <details> disclosure, independent multi-open, zero JS. Each branch li wraps
   its root link + groups in details.srq-service-directory-toggle; the server
   renders `open` on the current branch only. The whole sticky directory —
   not a single branch — becomes the one constrained scroll region (replaces
   the per-branch --scroll inner scroll). New rules are gated behind
   .srq-service-directory-toggle / :has() so the pre-switch markup is
   untouched; the selector-combinator fixes below are the only rules that
   also match the old markup (descendant ⊇ child, no visual delta).
   ========================================================================== */

/* Branch row: link + decorative caret. Native disclosure (click caret/row,
   Enter/Space); the link inside keeps its own navigation semantics. */
html body .srq-page .srq-service-directory-toggle > summary.srq-service-directory-branch-row {
  display: flex;
  align-items: center;
  gap: 0.08rem;
  margin: 0;
  padding: 0;
  cursor: pointer;
  list-style: none;
}

html body .srq-page .srq-service-directory-toggle > summary.srq-service-directory-branch-row::-webkit-details-marker {
  display: none;
}

/* Decorative chevron (aria-hidden in markup): right when closed, down when
   open — house idiom, cf. .srq-sol-faq-item summary::after. */
html body .srq-page .srq-service-directory-caret {
  flex: 0 0 auto;
  width: 0.07rem;
  height: 0.07rem;
  margin-left: auto;
  border-right: 2px solid #8aa4bd;
  border-bottom: 2px solid #8aa4bd;
  transform: rotate(-45deg);
  transition: transform 0.2s ease;
}

html body .srq-page .srq-service-directory-toggle[open] > summary.srq-service-directory-branch-row .srq-service-directory-caret {
  transform: rotate(45deg);
}

/* svcdir5 (2026-09-16): root link shrinks to its label width — the row
   outside the label no longer navigates (mis-tap fix); the caret keeps the
   toggle and clicking bare row space toggles via the summary default. */
html body .srq-page .srq-service-directory-toggle > summary.srq-service-directory-branch-row .srq-service-directory-root {
  flex: 0 0 auto;
}

/* svcdir5 (2026-09-16): the scroll region moved INTO the expanded branch's
   groups area (visible thin bar at the truncation point); this nav-level
   region stays only as the backstop for the rare multi-open overflow. Band
   deletion grew the budget 2.2 → 1.7rem. :has() gate = inert until the
   markup switch.
   svcdir5b (2026-09-17): user decision on the multi-open 8px squeeze — the
   backstop scrollbar is hidden (scrollbar-width none + webkit display none)
   while overflow-y auto stays, so multi-open overflow remains wheel-reachable
   at zero width cost; the per-branch inner bar keeps being the visible
   truncation signal. Rollback: srq-overrides.css.bak-20260917-svcdir5b
   svcdir6 (2026-09-17): 1.7 → 1.6rem — the L1 rows grew to 18px/55.2px each
   and the boxes to 48px (drill-down rail ≈652px @900, 78px headroom); the
   extra room absorbs EN label wraps and multi-open squeeze without waking
   the hidden backstop. The inner region (3.92rem) stays the tighter cap at
   every width — the truncation signal remains the inner bar's alone. */
/* svcdir13 (2026-09-22): the outer backstop cap (max-height calc(100vh - 1.6rem)
   + hidden overflow scrollbar, svcdir1/5b/6 lineage) is RETIRED. Measured on the
   retained accordion it already bound at common laptop heights (detail rail 608px
   natural = the 608px cap @768h) — i.e. the fixed-length-rail pain the user
   rejected. NTEK declares no cap: natural height, viewport-edge clipping, page
   scroll brings the rest in. The svcdir5 groups inner scroll region below stays
   (explicit retain list, visible truncation signal). Rollback:
   srq-overrides.css.bak-20260922-svcdir13 */

/* svcdir5 (2026-09-16): inner scroll region — the expanded branch's complete
   category area scrolls in place, thin bar visible at the truncation point;
   single-open never exceeds it, so no scrollbar ever narrows the directory.
   Budget = nav shell 1.7 + four L1 rows 2.16 + 0.06 subpixel slack (keeps
   1px rounding from flashing the outer bar). No overscroll-behavior: at the
   end the wheel chains to the outer backstop, which contains the page.
   Desktop-only key: the mobile strip keeps its own overflow rules. */
html body .srq-page .srq-service-directory--desktop .srq-service-directory-groups {
  max-height: calc(100vh - 3.92rem);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 51, 102, 0.32) transparent;
}

html body .srq-page .srq-service-directory--desktop .srq-service-directory-groups::-webkit-scrollbar {
  width: 0.05rem;
}

html body .srq-page .srq-service-directory--desktop .srq-service-directory-groups::-webkit-scrollbar-thumb {
  border-radius: 9.99rem;
  background: rgba(0, 51, 102, 0.28);
}

/* svcdir1 (2026-09-15): service roots share the two-column shell now; the
   article column starts on the same line as the directory rail (the rail and
   the detail-page opening both sit 0.39rem below the shell top). */
html body .srq-page .srq-editor-content--service-root {
  padding-top: 0.39rem;
}

/* ==========================================================================
   NTEK-style directory & detail chrome (svcdir2, 2026-09-15)
   Reference: ntek.org.cn/womendefuwu.html, measured at 1440. Their language:
   brand title band over the left nav, solid L1 blocks (resting neutral /
   current brand), tinted L2 group rows, indented L3 items, brand group heads
   with a leading bar, bordered detail frame with tab-style section heads and
   a prev/next pager. Colors map NTEK green #52ab40 → brand navy family
   (#64748b slate / #003366 navy / #0a4f8a bright). Markup side: srq-layout.php
   adds .srq-service-page-frame, .srq-service-page-pager (the band span was
   removed in svcdir5, 2026-09-16). Aside width 2.2→3.2rem moved the var.
   ========================================================================== */

/* -- Directory shell: the pale panel goes away; blocks float on the page.
   sol pages share srq-editor-shell--service, so every rule here that keys on
   classes the sol rail also carries is excluded via :not(.srq-sol-page)
   (modifier added to srq-solutions.php's shell, 2026-09-15). -- */
html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory {
  min-height: 0;
  padding: 0;
  background: transparent;
}

/* sol shell carries --service too (srq-solutions.php), so the widened
   aside var would reflow the locked 09-09 sol rail; pin it back on sol
   pages only — every var consumer (grid cols, opening full-bleed math)
   resolves to the pre-svcdir2 value there. */
html body .srq-page .srq-editor-shell--service.srq-sol-page {
  --srq-service-aside-width: 2.2rem;
}

/* -- Title band removed (svcdir5, 2026-09-16): the hero already carries the
   section title, the rail now opens directly with the first branch row.
   Rollback: srq-overrides.css.bak-20260916-svcdir5 (:9492 block + the ≤720
   display:none twin). -- */

/* -- L1 branch blocks: solid neutral-gray resting (calm1 2026-09-17:
   #64748b slate went #828a93 neutral, hover #5b6b7d→#757c85 — resting
   de-blued, brand navy stays accent-only on the current branch and
   bright navy on link hover/focus. 1px seams unchanged.
   Rollback: srq-overrides.css.bak-20260917-calm1. -- */
html body .srq-page .srq-service-directory-list > li.srq-service-directory-branch {
  margin: 0;
}

html body .srq-page .srq-service-directory-list > li.srq-service-directory-branch + li.srq-service-directory-branch {
  margin-top: 1px;
}

html body .srq-page .srq-service-directory-toggle > summary.srq-service-directory-branch-row {
  padding: 0.15rem 0.2rem 0.15rem 0.26rem;
  background: #828a93;
}

/* svcdir5 (2026-09-16): hover split by intent — row hover deepens the slate
   (disclosure), link hover lights bright navy (navigation) via :has() below
   (same browser baseline as the scroll-region gate). */
html body .srq-page .srq-service-directory-toggle > summary.srq-service-directory-branch-row:hover,
html body .srq-page .srq-service-directory-toggle > summary.srq-service-directory-branch-row:focus-visible {
  background: #757c85;
}

html body .srq-page li.srq-service-directory-branch.is-active-branch .srq-service-directory-toggle > summary.srq-service-directory-branch-row {
  background: var(--srq-blue);
}

html body .srq-page .srq-service-directory-toggle > summary.srq-service-directory-branch-row:has(.srq-service-directory-root:hover),
html body .srq-page .srq-service-directory-toggle > summary.srq-service-directory-branch-row:has(.srq-service-directory-root:focus-visible) {
  background: var(--srq-blue-bright);
}

/* Root link rides transparent on the block; white in every state. */
html body .srq-page .srq-service-directory-toggle > summary.srq-service-directory-branch-row .srq-service-directory-root,
html body .srq-page .srq-service-directory-toggle > summary.srq-service-directory-branch-row .srq-service-directory-root.is-current,
html body .srq-page li.srq-service-directory-branch.is-active-branch .srq-service-directory-toggle > summary.srq-service-directory-branch-row .srq-service-directory-root {
  margin: 0;
  padding: 0;
  border-left: 0;
  background: transparent;
  color: #fff;
  font-size: 0.17rem;
  font-weight: 700;
  line-height: 1.4 !important;
}

/* Caret flips to white on the solid blocks (svcdir1 rotation kept). */
html body .srq-page .srq-service-directory-caret {
  border-right-color: rgba(255, 255, 255, 0.85);
  border-bottom-color: rgba(255, 255, 255, 0.85);
}

/* -- L2 group rows: neutral chip (calm1 2026-09-17: bg #eef2f6→#ededed,
   border #dfe7ee→#e0e0e0, resting text #52697f→#535353, weight 700→600);
   brand-blue TEXT ONLY inside the active branch — the ground stays
   neutral in every state (NTEK resting-grayscale language). -- */
html body .srq-page .srq-service-directory-groups {
  margin: 0;
  padding: 0.08rem 0.14rem 0.16rem 0.24rem;
}

html body .srq-page .srq-service-directory-group-label {
  position: relative;
  display: block;
  margin: 0.06rem 0 0.02rem;
  padding: 0.07rem 0.12rem 0.07rem 0.32rem;
  border: 1px solid #e0e0e0;
  background: #ededed;
  color: #535353;
  font-size: 0.14rem;
  font-weight: 600;
  line-height: 1.45 !important;
}

html body .srq-page .srq-service-directory-group-label::before {
  content: "";
  position: absolute;
  left: 0.13rem;
  top: 50%;
  width: 0.07rem;
  height: 0.07rem;
  margin-top: -0.035rem;
  background: #9e9e9e;
}

html body .srq-page li.srq-service-directory-branch.is-active-branch .srq-service-directory-group-label {
  border-color: #d9d9d9;
  background: #ededed;
  color: var(--srq-blue);
}

html body .srq-page li.srq-service-directory-branch.is-active-branch .srq-service-directory-group-label::before {
  background: var(--srq-blue-bright);
}

/* -- L3 items: deep indent, hover slides left toward the rail (NTEK
   translateX quirk), current item brand-navy text, no tint block. -- */
html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory-children {
  margin: 0 0 0.06rem !important;
  padding: 0 0 0 0.2rem !important;
  border-left: 0;
}

html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory-children li {
  padding-left: 0.3rem;
}

html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory-children a {
  display: block;
  padding: 0.05rem 0.1rem;
  border-left: 0;
  color: #747474;
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 1.45 !important;
  transition: color 0.2s ease, transform 0.2s ease;
}

html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory-children a:hover,
html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory-children a:focus-visible {
  color: var(--srq-blue-bright);
  transform: translateX(-0.06rem);
}

html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory-children a.is-current {
  border-left: 0;
  background: transparent;
  color: var(--srq-blue);
  font-weight: 700;
}

/* -- Mobile ≤720: outer summary is the strip head (inner band span gone,
   svcdir5). L1/L2/L3 language flows via the shared classes above. -- */
@media (max-width: 720px) {
  html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory-mobile > summary {
    padding: 0.14rem 0.16rem;
    background: var(--srq-blue);
    color: #fff;
  }

  html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory-mobile > summary::after {
    color: #fff;
  }

  html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory-mobile[open] > summary::after {
    color: #fff;
  }

  html body .srq-page .srq-service-directory-mobile .srq-service-directory-groups {
    padding: 0.06rem 0.1rem 0.12rem 0.16rem;
  }

  html body .srq-page .srq-service-directory-toggle > summary.srq-service-directory-branch-row {
    padding: 0.13rem 0.14rem 0.13rem 0.16rem;
  }

  html body .srq-page .srq-service-directory-toggle > summary.srq-service-directory-branch-row .srq-service-directory-root {
    font-size: 0.16rem;
  }
}

/* -- Root page body: brand group heads with a leading bar (NTEK titleTop).
   (svcdir8 2026-09-20: card hover retired here — the :160 slow-tint layer owns it.) -- */
html body .srq-page .srq-editor-shell--service-root .srq-service-overview-group-head h2 {
  position: relative;
  padding-left: 0.16rem;
  color: var(--srq-blue);
  font-size: 0.25rem;
  font-weight: 700;
  line-height: 1.3 !important;
}

html body .srq-page .srq-editor-shell--service-root .srq-service-overview-group-head h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 0.04rem;
  height: 0.24rem;
  margin-top: -0.12rem;
  background: var(--srq-blue);
}

/* -- h1align 2026-09-29: the svcdir-era NTEK titleDx opening retires from
   the service DETAIL pages (brand-navy 28px title + blue bar + tightened
   0.06rem floor; rules restored from .bak-20260929-h1align). Detail pages
   rejoin the shared quiet opening (~:8531/:8536 — 32px/700 left ink,
   0.39/0.28 padding) that the solution template wears, so the svc and sol
   h1 match at every band again; the 1025-1459 downshift (~:9146) was
   already written for both. Service ROOT pages never used this header
   (identity rides the hero), so they are untouched. -- */

/* Breadcrumb strip retired (svcdir4, 2026-09-15 user rollback): the
   breadcrumb leaves the service family entirely — hero meets the shell
   directly on roots and details alike. The svcdir3 pair below is gone:
   .srq-service-crumbbar { padding: 0.14rem 0 0.12rem } and
   .srq-service-crumbbar .srq-service-page-breadcrumb { margin: 0;
   font-size: 0.14rem }. Restore from .bak-20260915-svcdir4. The shared
   .srq-service-page-breadcrumb base stays for news. */

/* Bordered frame wraps everything between the opening and the article end:
   facts summary, DB body, process, pager (NTEK .rack .border). */
html body .srq-page .srq-service-page-frame {
  margin: 0.22rem 0 0;
  padding: 0.3rem 0.3rem 0.32rem;
  border: 1px solid #d7dee6;
  background: #fff;
}

/* Tab-style section heads retired (svcdir3, 2026-09-15 user rollback):
   the h3 / summary-h2 tab rules were deleted, so section heads fall back
   to the 09-09 plain styles (.srq-service-page-body > h3 0.22rem navy).
   Frame + pager stay. */

/* Prev/next pager (NTEK .sorter): dotted top rule, prev left, next right. */
html body .srq-page .srq-service-page-pager {
  display: flex;
  justify-content: space-between;
  gap: 0.24rem;
  margin: 0.36rem 0 0;
  padding: 0.24rem 0 0;
  border-top: 1px dotted #b9c3cd;
}

html body .srq-page .srq-service-page-pager-item {
  max-width: 48%;
  color: #52697f;
  font-size: 0.14rem;
  line-height: 1.5 !important;
}

html body .srq-page a.srq-service-page-pager-item {
  color: #52697f;
  text-decoration: none;
  transition: color 0.2s ease;
}

html body .srq-page a.srq-service-page-pager-item:hover,
html body .srq-page a.srq-service-page-pager-item:focus-visible {
  color: var(--srq-blue-bright);
}

html body .srq-page .srq-service-page-pager-item--next {
  margin-left: auto;
  text-align: right;
}

html body .srq-page .srq-service-page-pager-item span {
  margin: 0 0.1rem;
}

/* svcdir2 follow-up: the 09-09 sol-rail family
   (html body .srq-page .srq-sol-directory/.srq-service-page-directory
   .srq-service-directory-link, 0-3-2/0-4-2) out-ranks element selectors, so
   the L3 items re-tier through the shell compound to win — and the shell
   :not(.srq-sol-page) keeps the sol rail untouched. */
html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory-children .srq-service-directory-link {
  display: block;
  margin: 0;
  /* svcdir5 (2026-09-16): 0.07→0.05rem density (34→30px rows); this class
     twin out-ranks the element-keyed rule above, so the change lands here */
  padding: 0.05rem 0.1rem;
  border-left: 0;
  color: #747474;
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 1.45 !important;
  transition: color 0.2s ease, transform 0.2s ease;
}

html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory-children .srq-service-directory-link:hover,
html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory-children .srq-service-directory-link:focus-visible {
  border-left-color: transparent;
  background: transparent;
  color: var(--srq-blue-bright);
  transform: translateX(-0.06rem);
}

html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory-children .srq-service-directory-link.is-current {
  border-left-color: transparent;
  background: transparent;
  color: var(--srq-blue);
  font-weight: 700;
}

/* ==========================================================================
   Group-level disclosure (svcdir-group-toggle, 2026-09-17) — the L2 group
   head becomes a native details>summary toggle, isomorphic with the L1
   branch layer (svcdir1). Drill-down default: the server renders `open`
   only on the group containing the current page (一路亮到当前页，旁支全收，
   处处可手动开); branch roots and manually opened branches start with every
   group collapsed. Markup: srq-layout.php wraps each group's children ul in
   details.srq-service-directory-group-toggle, the label is its summary (id
   moved onto the summary) and carries a caret span. The square ::before
   marker retires; the caret reuses the branch caret idiom (closed ▸ -45deg,
   open ▾ 45deg) one size down. Rollback: cp .bak-20260917-svcdirgt twins.
   ========================================================================== */

/* Group summary: chip skin unchanged (svcdir2 layer), row becomes a flex
   toggle; uniform 0.12 padding now that the marker gutter is gone. */
html body .srq-page .srq-service-directory-group-toggle > summary.srq-service-directory-group-label {
  display: flex;
  align-items: center;
  gap: 0.08rem;
  padding: 0.07rem 0.12rem;
  cursor: pointer;
  list-style: none;
}

html body .srq-page .srq-service-directory-group-toggle > summary.srq-service-directory-group-label::-webkit-details-marker {
  display: none;
}

html body .srq-page .srq-service-directory-group-toggle > summary.srq-service-directory-group-label::marker {
  content: none;
}

/* Square marker (svcdir2 ::before) and any legacy ::after residue: off. */
html body .srq-page .srq-service-directory-group-toggle > summary.srq-service-directory-group-label::before,
html body .srq-page .srq-service-directory-group-toggle > summary.srq-service-directory-group-label::after {
  content: none;
}

/* Toggle-intent hover/focus: deepen the chip only, never link treatment. */
html body .srq-page .srq-service-directory-group-toggle > summary.srq-service-directory-group-label:hover,
html body .srq-page .srq-service-directory-group-toggle > summary.srq-service-directory-group-label:focus-visible {
  border-color: #d9d9d9;
  background: #e4e4e4;
}

/* Group caret: branch caret geometry one size down, slate resting (the pale
   chip needs it — the white override above keys on the shared class). */
html body .srq-page .srq-service-directory-group-toggle > summary.srq-service-directory-group-label .srq-service-directory-caret {
  width: 0.05rem;
  height: 0.05rem;
  border-right-color: #9e9e9e;
  border-bottom-color: #9e9e9e;
}

/* Open state = branch idiom: rotate to ▾; in the active branch an open
   group's caret goes bright (replaces the retired square-marker signal). */
html body .srq-page .srq-service-directory-group-toggle[open] > summary.srq-service-directory-group-label .srq-service-directory-caret {
  transform: rotate(45deg);
}

html body .srq-page li.srq-service-directory-branch.is-active-branch .srq-service-directory-group-toggle[open] > summary.srq-service-directory-group-label .srq-service-directory-caret {
  border-right-color: var(--srq-blue-bright);
  border-bottom-color: var(--srq-blue-bright);
}

/* ==========================================================================
   L2 NTEK skin (svcdir6, 2026-09-17) — the group rows trade the inset pill
   for the reference site's full-width gray boxes: details carries a 1px
   #ededed frame wrapping head bar + children (head bg #ededed, children on
   white — NTEK's li border), boxes separated by 1px white seams (margin-top),
   14/30/14/50 breathing on a 48px row (1+14+18+14+1), label text landing at
   x71 behind a 6px currentColor square (the svcdir2 ::before marker returns,
   now tinted by text state), caret moved into the left cluster. State
   semantics follow NTEK too: OPEN = navy TEXT on any branch (replaces the
   active-branch-all-navy mapping), hover/focus = text color with the ground
   untouched (user flip of the calm1 #e4e4e4 deepen), weight 600→400. L3
   loosens one notch (38px rows, text x81); L1 goes 17/700→18/600. Density:
   drill-down tallest branch ≈726px — fits @1000 viewports; @900 overflows
   ~70px into the inner thin bar by design (svcdir5b), with the outer
   backstop re-headed to 1.6rem above. Desktop rail only — the ≤720 strip
   keeps the pill language, so the whole layer is media-gated and every
   selector keys on --desktop. Rollback: cp .bak-20260917-svcdir6.
   ========================================================================== */
@media (min-width: 721px) {

/* Boxes go edge-to-edge: the groups container drops its side insets (and
   its top/bottom rhythm — the 1px seams carry the stacking now). */
html body .srq-page .srq-service-directory--desktop .srq-service-directory-groups {
  padding: 0;
}

/* The box: NTEK's li border — a 1px #ededed frame around head + children,
   1px white seam above each box. */
html body .srq-page .srq-service-directory--desktop details.srq-service-directory-group-toggle {
  margin: 1px 0 0;
  border: 1px solid #ededed;
}

/* The 1px seam IS the inter-group gap: the legacy sibling rhythm (0.21rem,
   svcdir2-era pill spacing) retires on desktop — with it live the boxes sit
   22px apart, which read as holes in the stack. */
html body .srq-page .srq-service-directory--desktop .srq-service-directory-group + .srq-service-directory-group {
  margin-top: 0;
}

/* Head bar: #ededed ground, no own border (the frame provides the edge);
   48px row = 14 + 18 + 14 inside the 2px frame; text at x71 = 70 pad
   (svcdir7 2026-09-18: the 6px leading square retires — pad-left absorbs
   its 6px + the 14px flex gap so the label column stands still; the rail's
   type scale goes +2px: L1 20/600, L2/L3 16 — line-heights stay pinned,
   so the 48px head, 38px rows and the scroll budget are untouched). */
html body .srq-page .srq-service-directory--desktop .srq-service-directory-group-toggle > summary.srq-service-directory-group-label {
  margin: 0;
  padding: 0.14rem 0.3rem 0.14rem 0.7rem;
  border: 0;
  background: #ededed;
  color: #535353;
  font-size: 0.16rem;
  font-weight: 400;
  line-height: 18px !important;
  gap: 0.14rem;
}

/* Caret joins the left cluster (NTEK h3::before slot): pinned left,
   vertically centered; size/rotation/colors keep the house idiom above. */
html body .srq-page .srq-service-directory--desktop .srq-service-directory-group-toggle > summary.srq-service-directory-group-label .srq-service-directory-caret {
  position: absolute;
  left: 0.2rem;
  top: 50%;
  margin: -0.025rem 0 0;
}

/* Open = navy TEXT on any branch; closed returns to neutral. The un-scoped
   active-branch rule above keeps serving the ≤720 strip untouched. */
html body .srq-page .srq-service-directory--desktop details.srq-service-directory-group-toggle[open] > summary.srq-service-directory-group-label {
  color: var(--srq-blue);
}

html body .srq-page .srq-service-directory--desktop details.srq-service-directory-group-toggle:not([open]) > summary.srq-service-directory-group-label {
  color: #535353;
}

/* Toggle-intent hover/focus = text color, ground untouched (replaces the
   calm1 deepen on desktop; the mobile strip keeps it). */
html body .srq-page .srq-service-directory--desktop details.srq-service-directory-group-toggle > summary.srq-service-directory-group-label:hover,
html body .srq-page .srq-service-directory--desktop details.srq-service-directory-group-toggle > summary.srq-service-directory-group-label:focus-visible {
  background: #ededed;
  color: var(--srq-blue-bright);
}

/* L3 one notch looser: 38px rows (10+18+10), text at x81 — the indent
   re-bases on the full-width boxes (NTEK li padding 80): the ul side inset
   retires, the list item carries it. */
html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory--desktop .srq-service-directory-children {
  padding-left: 0 !important;
  /* and the 6px !important bottom margin dies: NTEK's children sit flush
     against the frame's bottom edge (svcdir6 gap follow-up, 2026-09-18) */
  margin: 0 !important;
}

html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory--desktop .srq-service-directory-children li {
  padding-left: 0.8rem;
}

html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory--desktop .srq-service-directory-children .srq-service-directory-link {
  padding: 0.1rem 0.1rem 0.1rem 0;
  font-size: 0.16rem;
  line-height: 18px !important;
}

/* L1: NTEK size, one weight notch down (mobile keeps its 16/700 twin);
   svcdir7: 18→20px with the rail-wide +2px type scale. */
html body .srq-page .srq-service-directory--desktop li.srq-service-directory-branch .srq-service-directory-toggle > summary.srq-service-directory-branch-row .srq-service-directory-root {
  font-size: 0.20rem;
  font-weight: 600;
}

}


/* svcdir13 (2026-09-22): article floor, desktop only — user call "roughly one screen".
   The accordion rail (<=~700px single-open) no longer structurally holds page length the
   way NTEK's 1151-2215px rail does (NTEK declares no floor at all), so short-content
   service pages (cybersecurity/IPv6 roots, article 289px) would collapse. Floor holds the
   shell at calc(100vh - 2rem): 700px @900h, 880px @1080h, 568px @768h. Not set <=720
   (mobile single column is naturally long). Pure static minimum, zero coupling with rail
   physics; the superset token --service spans root/detail/sol shells by design.
   (The svcdir12-era option text said calc(100vh - 5.5rem) — arithmetic error, only 350px
   @900h, reversed the intent; this value supersedes it.)
   Rollback: srq-overrides.css.bak-20260922-svcdir13 */
@media (min-width: 721px) {
  html body .srq-page .srq-editor-shell--service {
    min-height: calc(100vh - 2rem);
  }
}


/* ==========================================================================
   Quiet rail (svcdir16, 2026-09-28) — weight inversion + docs-rail disclosure
   (user picks: color option 2 + arrow option D, explored same day). The NTEK
   solid-block rail (svcdir2 blocks + calm1 neutral gray + svcdir6 gray boxes)
   retires on the DESKTOP rail only: resting rows go white with slate ink, the
   current branch keeps the one solid navy block, and disclosure is carried by
   three channels — rotating caret (idiom kept), a 2px guide rail on the
   expanded branch content, and hover row-washes. Vertical metrics are pinned
   (L1 58 / L2 48 / L3 38px rows) so the svcdir5 scroll budget and svcdir13
   floor math are untouched; fonts keep the svcdir7 scale (20/16) except L3
   drops to 15px for a 20/16/15 ladder. The ≤720 strip keeps the svcdir2 gray
   block language (this whole layer is desktop-keyed). Zero PHP/DB.
   Rollback: srq-overrides.css.bak-20260928-svcdir16
   ========================================================================== */

/* Branch separation: hairline replaces the 1px white seam (svcdir2 :9329). */
html body .srq-page .srq-service-directory--desktop li.srq-service-directory-branch + li.srq-service-directory-branch {
  margin-top: 0;
  border-top: 1px solid #edf2f7;
}

/* L1 resting: transparent ground, slate ink (beats the calm1 #828a93 via the
   extra --desktop class + order). The active-branch navy block (:9346, higher
   specificity li.is-active-branch) survives untouched. */
html body .srq-page .srq-service-directory--desktop .srq-service-directory-toggle > summary.srq-service-directory-branch-row {
  background: transparent;
}

html body .srq-page .srq-service-directory--desktop li.srq-service-directory-branch:not(.is-active-branch) .srq-service-directory-toggle > summary.srq-service-directory-branch-row:hover,
html body .srq-page .srq-service-directory--desktop li.srq-service-directory-branch:not(.is-active-branch) .srq-service-directory-toggle > summary.srq-service-directory-branch-row:focus-visible {
  background: #f5f9fc;
}

/* svcdir2's :has() bright-navy row flash retires — same wash as row hover. */
html body .srq-page .srq-service-directory--desktop li.srq-service-directory-branch:not(.is-active-branch) .srq-service-directory-toggle > summary.srq-service-directory-branch-row:has(.srq-service-directory-root:hover) {
  background: #f5f9fc;
}

/* Root label: muted slate resting, brand navy on row hover (white text rules
   of svcdir2 :9356 keep serving only the active block + mobile strip). */
html body .srq-page .srq-service-directory--desktop li.srq-service-directory-branch:not(.is-active-branch) .srq-service-directory-toggle > summary.srq-service-directory-branch-row .srq-service-directory-root {
  color: var(--srq-muted);
}

html body .srq-page .srq-service-directory--desktop li.srq-service-directory-branch:not(.is-active-branch) .srq-service-directory-toggle > summary.srq-service-directory-branch-row:hover .srq-service-directory-root,
html body .srq-page .srq-service-directory--desktop li.srq-service-directory-branch:not(.is-active-branch) .srq-service-directory-toggle > summary.srq-service-directory-branch-row:focus-visible .srq-service-directory-root {
  color: var(--srq-blue);
}

/* Caret: slate at rest on white rows (svcdir2 white override :9370 was for
   the gray blocks), navy on row hover; the active block keeps white. */
html body .srq-page .srq-service-directory--desktop li.srq-service-directory-branch:not(.is-active-branch) .srq-service-directory-toggle > summary.srq-service-directory-branch-row .srq-service-directory-caret {
  border-right-color: #8aa4bd;
  border-bottom-color: #8aa4bd;
}

html body .srq-page .srq-service-directory--desktop li.srq-service-directory-branch:not(.is-active-branch) .srq-service-directory-toggle > summary.srq-service-directory-branch-row:hover .srq-service-directory-caret,
html body .srq-page .srq-service-directory--desktop li.srq-service-directory-branch:not(.is-active-branch) .srq-service-directory-toggle > summary.srq-service-directory-branch-row:focus-visible .srq-service-directory-caret {
  border-right-color: var(--srq-blue);
  border-bottom-color: var(--srq-blue);
}

/* Guide rail: the open branch's content hangs off a 2px line ("these belong
   to it"); svcdir6's padding:0 (9725) and svcdir2's pill padding (9379) give
   way. Closed branches show nothing (details hides the content). The svcdir5
   scroll cap on the same element is untouched. */
html body .srq-page .srq-service-directory--desktop .srq-service-directory-toggle[open] > .srq-service-directory-groups {
  margin-left: 0.14rem;
  padding: 0.02rem 0 0.08rem 0.14rem;
  border-left: 2px solid #e3eaf1;
}

/* NTEK box frames retire: no 1px #ededed wrapper, no seam margin. */
html body .srq-page .srq-service-directory--desktop details.srq-service-directory-group-toggle {
  margin: 0;
  border: 0;
}

/* L2 head: quiet row — transparent ground, slate text, 600 weight; the 70px
   caret gutter dies (caret rejoins the flex flow as the first child). Open
   label navy (svcdir6 :9772 keeps serving) and hover/focus get the wash
   (replaces :9782's #ededed deepen). Row metrics pinned: 0.14rem pad + 18px
   line = the 48px svcdir6 row. */
html body .srq-page .srq-service-directory--desktop .srq-service-directory-group-toggle > summary.srq-service-directory-group-label {
  margin: 0;
  padding: 0.14rem 0.3rem 0.14rem 0;
  background: transparent;
  color: #52697f;
  font-weight: 600;
  gap: 0.1rem;
}

html body .srq-page .srq-service-directory--desktop details.srq-service-directory-group-toggle:not([open]) > summary.srq-service-directory-group-label {
  color: #52697f;
}

html body .srq-page .srq-service-directory--desktop details.srq-service-directory-group-toggle > summary.srq-service-directory-group-label:hover,
html body .srq-page .srq-service-directory--desktop details.srq-service-directory-group-toggle > summary.srq-service-directory-group-label:focus-visible {
  background: #f5f9fc;
  color: var(--srq-blue-bright);
}


html body .srq-page .srq-service-directory--desktop .srq-service-directory-group-toggle > summary.srq-service-directory-group-label .srq-service-directory-caret {
  position: static;
  order: -1; /* markup puts the label text first — flip so the carets lead their labels and stack in one column hugging the guide rail */
  width: 0.06rem;
  height: 0.06rem;
  margin: 0;
  border-right-color: #8aa4bd;
  border-bottom-color: #8aa4bd;
}

/* L3 re-bases on the guide rail: text ladder 26 / ~46 / ~62. Rows stay 38px
   (0.1rem pad + 18px line). The svcdir2 NTEK translateX hover slide retires —
   a quiet rail reads color-only hover. Current item navy/700 (svcdir2 layer)
   keeps serving. */
html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory--desktop .srq-service-directory-children {
  margin: 0 0 0.04rem 0.1rem !important;
}

html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory--desktop .srq-service-directory-children li {
  padding-left: 0.1rem;
}

html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory--desktop .srq-service-directory-children .srq-service-directory-link {
  padding: 0.1rem 0.1rem 0.1rem 0.12rem;
  font-size: 0.15rem;
  line-height: 18px !important;
}

html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory--desktop .srq-service-directory-children .srq-service-directory-link:hover,
html body .srq-page .srq-editor-shell--service:not(.srq-sol-page) .srq-service-directory--desktop .srq-service-directory-children .srq-service-directory-link:focus-visible {
  border-left-color: transparent;
  background: transparent;
  color: var(--srq-blue-bright);
  transform: none;
}

/* ═══ brand-404-page (2026-09-30): 404 face ═══
   Broken URLs keep HTTP 404 but render an honest face inside the shared
   shell. Scoped to .srq-404-* — purely additive, zero contact with
   existing selectors. */
.srq-404-page { padding: 88px 0 120px; }
.srq-404-card { max-width: 640px; margin: 0 auto; text-align: center; }
.srq-404-code { margin: 0; font-size: 88px; line-height: 1; font-weight: 700; letter-spacing: 0.04em; color: var(--srq-blue, #003366); }
.srq-404-card h1 { margin: 18px 0 0; font-size: 32px; line-height: 1.2; font-weight: 700; color: #333; }
.srq-404-desc { margin: 14px auto 0; max-width: 460px; font-size: 15px; line-height: 1.8; color: var(--srq-muted, #47556b); }
.srq-404-search { margin: 30px auto 0; max-width: 460px; display: flex; gap: 12px; }
.srq-404-search label { flex: 1 1 auto; }
.srq-404-search input[type='search'] { width: 100%; height: 44px; padding: 0 14px; border: 1px solid #cbd5e1; border-radius: 3px; background: #fff; font-size: 14px; color: #333; }
.srq-404-search input[type='search']:focus { outline: none; border-color: var(--srq-blue, #003366); }
.srq-404-search button { height: 44px; padding: 0 26px; border: 0; border-radius: 3px; background: var(--srq-blue, #003366); color: #fff; font-size: 14px; cursor: pointer; }
.srq-404-links { margin-top: 30px; display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }
@media (max-width: 720px) {
  .srq-404-page { padding: 56px 0 72px; }
  .srq-404-code { font-size: 64px; }
  .srq-404-card h1 { font-size: 24px; }
  .srq-404-search { flex-direction: column; }
}

/* home-hero-brandcard (2026-10-10): each slide is one whole-photo institution
   card — a single link covers the slide; arrows and action buttons retire;
   the dot row (hover switches, click for touch) is the only control. */
.srq-page .srq-hero-carousel .srq-hero-slide-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  color: #fff;
  text-decoration: none;
}

.srq-page .srq-hero-carousel .srq-hero-slide-link:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.85);
  outline-offset: -2px;
}

.srq-page .srq-hero-carousel .srq-hero-slide-media::after {
  background:
    linear-gradient(90deg, rgba(4, 13, 35, 0.6) 0%, rgba(5, 18, 48, 0.32) 38%, rgba(5, 18, 48, 0.16) 68%, rgba(5, 18, 48, 0.1) 100%),
    linear-gradient(180deg, rgba(5, 18, 48, 0.06), rgba(5, 18, 48, 0.2));
}

/* navdraw (2026-10-16): mobile nav becomes a right-side drawer, following the
   reference site's m_nav pattern — the panel slides in right-to-left over a
   dimmed page at ~3/4 of the viewport, rows are big and bold with a chevron
   pinned right (it flips when a submenu opens), submenus render on light gray
   cards, and a close row sits on top of the drawer. Desktop rules are
   untouched: everything below is inside the drawer band (<=1024 since
   navlogo 2026-10-20); the close control stays display:none on desktop. */

.srq-page .srq-nav-close,
.srq-page .srq-nav-scrim {
  display: none;
}

/* navlogo (2026-10-20): drawer band widened 768 -> 1024. */
@media (max-width: 1024px) {
  /* The old full-width dropdown form of .srq-nav (:2425 band) retires here:
     fixed off-canvas right, slid in via transform. Visibility hides it from
     taps and assistive tech once the slide-out finishes (delayed transition).
     It lives inside the header's stacking context (z 20), so z 40 covers the
     whole header band. */
  .srq-page .srq-nav {
    position: fixed;
    top: 0;
    left: auto;
    right: 0;
    display: block;
    width: 75%;
    height: 100vh;
    padding: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    /* retire the old-dropdown clamp (:3754) — the drawer is a full-height
       fixed panel now, not a dropdown under the header band */
    max-height: none;
    background: #fff;
    box-shadow: -0.16rem 0 0.32rem rgba(8, 29, 72, 0.16);
    transform: translateX(104%);
    visibility: hidden;
    z-index: 40;
  }

  /* The dim page behind the drawer is a real element (pseudo-element boxes
     proved unreliable for hit-testing here). The header's backdrop-filter
     makes the HEADER the containing block for fixed descendants — but the
     header is sticky at top:0, so its top edge is always the viewport top and
     viewport units still span the full screen. */
  .srq-page .srq-nav-scrim {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(8, 29, 72, 0.45);
    opacity: 0;
    visibility: hidden;
    z-index: 35;
  }

  /* navanim (2026-10-20): the closed-state slide-out transitions live behind
     an is-nav-armed gate the toggle JS adds on first use. Without it, a manual
     window resize across the 768px band flipped transform/opacity while
     installing these transitions — CSS transitions run on media-query changes
     too, so the desktop menu visibly morphed into the drawer and slid
     off-screen (plus the scrim faded): the resize flash. Unarmed, a crossing
     swaps styles instantly. Opening still animates via the is-nav-open rules
     below; closing animates because armed persists until the breakpoint
     change handler removes it. */
  .srq-page .srq-header.is-nav-armed .srq-nav {
    transition: transform 0.45s ease, visibility 0s linear 0.45s;
  }

  .srq-page .srq-header.is-nav-armed .srq-nav-scrim {
    transition: opacity 0.45s ease, visibility 0s linear 0.45s;
  }

  .srq-page .srq-header.is-nav-open .srq-nav {
    transform: translateX(0);
    visibility: visible;
    transition: transform 0.45s ease;
  }

  .srq-page .srq-header.is-nav-open .srq-nav-scrim {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.45s ease;
  }

  /* The header's backdrop-filter would keep hijacking the fixed containing
     block (drawer overflow then bleeds into the document scroll area, ~694px
     of phantom horizontal scroll). Mobile header goes solid white instead of
     frosted — the blur is barely perceptible behind the 84% white veil — and
     the drawer/scrim position against the real viewport. */
  html body .srq-page .srq-header {
    background: #fff;
    backdrop-filter: none;
  }

  /* Pull the toggle toward the screen edge: the shared .srq-inner rail insets
     it 30px (15px padding + 15px margin); the reference keeps its trigger near
     the edge. The negative margin only shifts the 44px trigger box. */
  html body .srq-page .srq-mobile-toggle {
    margin-right: -0.15rem;
    -webkit-tap-highlight-color: transparent;
  }

  /* The drawer slide-in is the open animation — the hamburger stays a plain
     hamburger and nothing on its bars may animate. base :111-112 still zero
     the bar margins when open (their :107 transition:0.3s then animates a
     visible vertical slide — the residual "still animated" feel), so pin the
     closed-state margin/transform/opacity and drop the bar transition. */
  html body .srq-page .srq-mobile-toggle i {
    transition: none;
  }

  html body .srq-page .srq-mobile-toggle.is-open i:nth-child(1),
  html body .srq-page .srq-mobile-toggle.is-open i:nth-child(2),
  html body .srq-page .srq-mobile-toggle.is-open i:nth-child(3) {
    margin: 0.05rem auto;
  }

  html body .srq-page .srq-mobile-toggle.is-open i:nth-child(1),
  html body .srq-page .srq-mobile-toggle.is-open i:nth-child(3) {
    transform: none;
  }

  html body .srq-page .srq-mobile-toggle.is-open i:nth-child(2) {
    opacity: 1;
  }

  /* Close row on top of the drawer (reference keeps a back row on top). */
  .srq-page .srq-nav-close {
    display: flex;
    align-items: center;
    gap: 0.1rem;
    width: 100%;
    padding: 0.15rem 0.2rem;
    border: 0;
    border-bottom: 1px solid var(--srq-line);
    background: #fff;
    color: var(--srq-ink);
    font: inherit;
    font-size: 0.15rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
  }

  .srq-page .srq-nav-close::before {
    content: "";
    width: 0.08rem;
    height: 0.08rem;
    border-left: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
  }

  /* Big bold rows (reference: 19px bold labels with a chevron at the right
     edge; the open-state flip stays in the :3129 block). */
  html body .srq-page .srq-menu {
    gap: 0;
    padding: 0.06rem 0 0.3rem;
  }

  html body .srq-page .srq-menu .srq-menu-item-head {
    display: flex;
    align-items: center;
  }

  html body .srq-page .srq-menu .srq-menu-link {
    flex: 1 1 auto;
    width: auto;
    min-height: 0.44rem;
    justify-content: flex-start;
    padding: 0.1rem 0.1rem 0.1rem 0.22rem;
    color: var(--srq-ink);
    font-size: 0.18rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    white-space: normal;
  }

  /* The desktop hover/current underline bar (:660) reads as a stray line
     under the big drawer rows; the current page keeps its blue-text voice. */
  html body .srq-page .srq-menu .srq-menu-link::after {
    content: none;
  }

  html body .srq-page .srq-menu .srq-nav-expander {
    display: block;
    flex: 0 0 0.44rem;
    width: 0.44rem;
    height: 0.44rem;
    margin: 0 0.08rem 0 0;
    color: var(--srq-muted);
  }

  /* Submenus: light gray card inside the drawer (reference dl voice —
     15px/35px muted rows, no separators). */
  html body .srq-page .srq-menu .srq-nav-panel,
  html body .srq-page .srq-menu .srq-menu-wide .srq-nav-panel,
  html body .srq-page .srq-menu .srq-menu-solutions .srq-nav-panel,
  html body .srq-page .srq-menu .srq-menu-about .srq-nav-panel {
    position: static;
    display: none;
    left: auto;
    right: auto;
    width: auto;
    min-width: 0;
    max-width: none;
    margin: 0 0.16rem 0.1rem;
    padding: 0.06rem 0.08rem;
    transform: none;
    border-radius: 0.04rem;
    background: #f4f7fa;
    box-shadow: none;
  }

  .srq-page .srq-menu .srq-menu-item.is-open .srq-nav-panel {
    display: block;
  }

  html body .srq-page .srq-menu .srq-nav-section,
  html body .srq-page .srq-menu .srq-menu-solutions .srq-nav-section,
  html body .srq-page .srq-menu .srq-menu-about .srq-nav-section {
    display: block;
    gap: 0;
    padding: 0;
    background: transparent;
    border-top: 0;
    box-shadow: none;
  }

  html body .srq-page .srq-menu .srq-nav-link,
  html body .srq-page .srq-menu .srq-menu-solutions .srq-nav-link,
  html body .srq-page .srq-menu .srq-menu-about .srq-nav-link {
    padding: 0 0.16rem;
    color: var(--srq-muted);
    font-size: 0.15rem;
    line-height: 0.35rem;
    text-align: left;
    white-space: normal;
  }

  html body .srq-page .srq-menu .srq-nav-link:hover,
  html body .srq-page .srq-menu .srq-menu-solutions .srq-nav-link:hover,
  html body .srq-page .srq-menu .srq-menu-about .srq-nav-link:hover {
    color: var(--srq-blue);
    background: rgba(0, 51, 102, 0.05);
  }

  /* The services mega list collapses into the same single in-card column.
     background/padding retire the desktop white mega-box (:2678/:2732) so the
     card voice matches the solutions/about panels exactly. */
  html body .srq-page .srq-menu .srq-service-menu {
    display: block;
    width: auto;
    max-height: none;
    background: transparent;
    border-top: 0;
    box-shadow: none;
  }

  html body .srq-page .srq-menu .srq-service-menu .srq-service-root-list {
    display: block;
    grid-template-columns: none;
    column-gap: 0;
    padding: 0;
  }

  html body .srq-page .srq-menu .srq-service-menu .srq-service-root-item {
    display: block;
    width: auto;
    min-height: 0;
    padding: 0 0.16rem;
    border-bottom: 0;
    color: var(--srq-muted);
    font-size: 0.15rem;
    line-height: 0.35rem;
  }

  html body .srq-page .srq-menu .srq-service-menu .srq-service-root-item span {
    padding-right: 0;
    color: inherit;
    font-size: 0.15rem;
    font-weight: 400;
    line-height: 0.35rem;
  }

  html body .srq-page .srq-menu .srq-service-menu .srq-service-root-item:hover,
  html body .srq-page .srq-menu .srq-service-menu .srq-service-root-item:hover span {
    color: var(--srq-blue);
    background-color: rgba(0, 51, 102, 0.05);
    background-image: none;
  }
}
