/* Homepage-only stylesheet entrypoint. Keep the shared cascade order. */

/* Global tokens, resets, header, navigation, and shared typography. */

@font-face {
  font-family: "Source Han Sans CN";
  src: url("/assets/fonts/SourceHanSansCN-Common.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
}

:root {
  --font-sans: "Source Han Sans CN", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --deep-blue: #084A91;
  --primary-blue: #084A91;
  --strong-blue: #084A91;
  --heritage-blue: #084A91;
  --sky: rgba(8, 74, 145, 0.16);
  --mist: rgba(8, 74, 145, 0.04);
  --paper: #FFFFFF;
  --heading-accent: #EF7303;
  --heading-ink: #373737;
  --ink: #202D3D;
  --slate: #44546A;
  --muted: #6B7B8D;
  --line: #E6E6E6;
  --accent: #EB8F07;
  --accent-strong: #EF7303;
  --eyebrow-color: var(--heading-accent);
  --coral: #E04812;
  --shadow: 0 24px 60px rgba(8, 74, 145, 0.14);
  --button-radius: 10px;
  --business-overview-intro-columns: minmax(0, 1fr) minmax(420px, 500px);
  --business-overview-intro-gap: clamp(24px, 2.5vw, 40px);
  --business-overview-intro-gap-stacked: 32px;
  --business-overview-intro-size: clamp(16px, 1.35vw, 20px);
  --business-overview-intro-size-mobile: 15px;
  --business-card-title-size: 21px;
  --business-card-body-size: 14px;
  --site-content-width: 1140px;
  --site-inline-gutter: max(48px, calc((100% - var(--site-content-width)) / 2));
  font-family: var(--font-sans);
}

@media (min-width: 1024px) and (max-width: 1279px) {
  :root {
    --site-inline-gutter: 32px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  :root {
    --site-inline-gutter: 24px;
  }
}

@media (max-width: 767px) {
  :root {
    --site-inline-gutter: 20px;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  --site-container-width: min(
    var(--site-content-width),
    calc(100% - (var(--site-inline-gutter) * 2))
  );
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.65;
  overflow-x: hidden;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

.home-page {
  --site-content-width: 1140px;
  --home-panel-height: 100vh;
  --home-panel-height: 100dvh;
  --home-section-padding-y: clamp(96px, 8vw, 144px);
}

@media (min-width: 1280px) {
  .home-page,
  .detail-page {
    --site-inline-gutter: max(48px, calc((100% - var(--site-content-width)) / 2));
  }
}

/*
 * Match the compact 90% desktop presentation used by the reference layout.
 * The public homepage and inner pages share the same 1267px virtual canvas in
 * short-desktop mode. At 90% zoom this renders at approximately 1140px. The
 * --site-container-width token keeps every full-width section on that same
 * canvas while the homepage compensates viewport-based panel heights by 1 / 0.9.
 */
@media (min-width: 900px) and (max-height: 960px) {
  body.home-page,
  body.detail-page {
    --site-content-width: 1267px;
    zoom: 0.9;
  }

  body.home-page {
    --home-panel-height: 111.111111vh;
    --home-panel-height: 111.111111dvh;
  }
}

/*
 * Let large desktop canvases use the available width without becoming
 * unbounded. The short-desktop values compensate for the shared 90% body zoom
 * so both height modes render on the same 1140px-to-1400px visual canvas.
 */
@media (min-width: 1440px) {
  body.home-page,
  body.detail-page {
    --site-content-width: clamp(1140px, 75vw, 1400px);
  }
}

@media (min-width: 1440px) and (max-height: 960px) {
  body.home-page,
  body.detail-page {
    --site-content-width: clamp(1267px, 83.333333vw, 1555.555556px);
  }
}

.home-page .hero {
  min-height: var(--home-panel-height);
}

.home-page .hero-carousel,
.home-page .hero-carousel-track,
.home-page .hero-slide,
.home-page .hero-slide-image {
  min-height: var(--home-panel-height);
}

.home-page .why-ics,
.home-page .clients,
.home-page .insights-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body::selection {
  color: var(--paper);
  background: var(--primary-blue);
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

a,
button,
input,
select,
textarea {
  outline-color: var(--primary-blue);
}

.site-header {
  --mega-menu-header-gap: 16.9px;
  position: fixed;
  inset: 0 0 auto;
  z-index: 10;
  display: grid;
  grid-template-columns: 170px 1fr auto;
  align-items: center;
  gap: 36px;
  min-height: 86px;
  padding: 14px var(--site-inline-gutter);
  color: var(--paper);
  background: linear-gradient(180deg, rgba(8, 74, 145, 0.36), rgba(8, 74, 145, 0));
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: none;
  transition: min-height 0.2s ease, background 0.2s ease;
}

.site-header.is-scrolled {
  min-height: 68px;
  background: rgba(8, 74, 145, 0.96);
  backdrop-filter: blur(18px);
}

/* Keep the English desktop navigation at the reference height on every page
   and prevent it from contracting after the user scrolls. */
@media (min-width: 1121px) {
  html[lang="en"] .site-header,
  html[lang="en"] .site-header.is-scrolled {
    --mega-menu-header-gap: 32.5px;
    height: 118px;
    min-height: 118px;
  }
}

.detail-page .site-header {
  background: linear-gradient(180deg, rgba(8, 74, 145, 0.28), rgba(8, 74, 145, 0.04));
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

.detail-page .site-header.is-scrolled {
  background: rgba(8, 74, 145, 0.96);
}

.legal-policy-page .site-header,
.legal-policy-page .site-header.is-scrolled {
  --mega-menu-header-gap: 23px;
  min-height: 100px;
  background: #084A91;
  border-bottom-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: none;
}

.brand {
  display: block;
  width: 150px;
  height: 58px;
}

.brand img,
.site-footer img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.site-footer-new img {
  max-width: 100%;
  height: auto;
}

.main-nav,
.header-actions {
  display: flex;
  align-items: center;
}

[data-main-nav][data-navigation-pending]:not([data-navigation-ready]),
.footer-link-groups[data-navigation-pending]:not([data-navigation-ready]) {
  min-height: 1px;
}

.header-actions {
  gap: 14px;
}

.main-nav {
  justify-content: center;
  font-size: 16px;
  gap: 22px;
}

.main-nav a,
.main-nav button,
.nav-disabled,
.text-button {
  color: rgba(255, 255, 255, 0.86);
}

.main-nav > a,
.nav-item > a,
.nav-item > .nav-menu-trigger {
  position: relative;
  padding-block: 8px;
  white-space: nowrap;
}

.nav-menu-trigger {
  margin: 0;
  padding-inline: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.main-nav > a::after,
.nav-item > a::after,
.nav-item > .nav-menu-trigger::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--sky);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.18s ease;
}

.main-nav > a:hover::after,
.nav-item:hover > a::after,
.nav-item:hover > .nav-menu-trigger::after,
.nav-item:focus-within > a::after,
.nav-item:focus-within > .nav-menu-trigger::after {
  transform: scaleX(1);
}

.main-nav > a.is-active,
.nav-item.is-active > a {
  color: var(--paper);
}

.main-nav > a.is-active::after,
.nav-item.is-active > a::after {
  transform: scaleX(1);
}

.nav-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 54px;
}

/* Keep the dropdown open while the pointer crosses the header's lower gutter. */
@media (min-width: 1121px) {
  .nav-item > a::before,
  .nav-item > .nav-menu-trigger::before {
    content: "";
    position: absolute;
    top: 100%;
    left: -12px;
    right: -12px;
    height: 36px;
  }
}

.mega-menu {
  position: absolute;
  top: calc(100% + var(--mega-menu-header-gap));
  left: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: min(248px, calc(100vw - 48px));
  min-width: 0;
  max-width: none;
  gap: 4px;
  padding: 12px;
  background: #FFFFFF;
  border: 1px solid rgba(8, 74, 145, 0.14);
  border-radius: 0;
  box-shadow: 0 24px 56px rgba(8, 42, 78, 0.2);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 0.22s ease, transform 0.22s ease;
}

.mega-menu::before {
  display: none;
}

.mega-menu.wide {
  grid-template-columns: minmax(0, 1fr);
  width: min(248px, calc(100vw - 48px));
  max-width: none;
}

/* The short Chinese labels do not need the default mega-menu canvas. */
@media (min-width: 1121px) {
  html[lang^="zh"] .nav-item:has(> a[href*="solution-detail"]) > .mega-menu,
  html[lang^="zh"] .nav-item:has(> a[href*="insight-list"]) > .mega-menu,
  html[lang^="zh"] .nav-item:has(> a[href*="news-list"]) > .mega-menu,
  html[lang^="zh"] .nav-item:has(> a[href*="about"]) > .mega-menu {
    width: min(152px, calc(100vw - 48px));
  }
}

.mega-menu.has-nested,
.mega-menu.wide.has-nested {
  display: block;
  width: min(300px, calc(100vw - 48px));
  padding: 12px;
  border-radius: 0;
}

.mega-menu-primary-links {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
}

.mega-menu-parent-item {
  position: static;
  min-width: 0;
}

.mega-menu-section-row {
  display: flex;
  align-items: center;
  min-width: 0;
}

.mega-menu-section-row .mega-menu-section-link {
  flex: 1 1 auto;
  min-width: 0;
}

.mega-menu-submenu-trigger {
  display: none;
}

.mega-menu-secondary-panel {
  position: absolute;
  top: -13px;
  left: calc(100% + 13px);
  width: min(300px, calc(100vw - 372px));
  min-width: 260px;
  height: calc(100% + 26px);
  box-sizing: border-box;
  padding: 12px;
  background: #FFFFFF;
  border: 1px solid rgba(8, 74, 145, 0.14);
  border-radius: 0;
  box-shadow: 20px 24px 56px rgba(8, 42, 78, 0.18);
  opacity: 0;
  pointer-events: none;
  transform: translateX(8px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.mega-menu-parent-item.has-submenu:hover .mega-menu-secondary-panel,
.mega-menu-parent-item.has-submenu:focus-within .mega-menu-secondary-panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.mega-menu-secondary-panel::before {
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  width: 14px;
  height: 100%;
}

.mega-menu-nested-links {
  display: grid;
  height: 100%;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

@media (min-width: 1121px) {
  .mega-menu-secondary-panel.is-jurisdiction-list .mega-menu-nested-links {
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }

  .mega-menu-secondary-panel.is-jurisdiction-list .mega-menu-nested-link {
    min-height: 0;
    padding: 11px 14px;
    color: var(--heritage-blue);
    font-size: inherit;
    line-height: inherit;
  }
}

.mega-menu .mega-menu-section-link {
  min-height: 42px;
  color: var(--heritage-blue);
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
}

.mega-menu .mega-menu-nested-link {
  min-height: 40px;
  padding: 8px 10px;
  color: #526477;
  font-size: 13px;
  line-height: 1.35;
}

.mega-menu .mega-menu-nested-link::after {
  display: none;
}

.mega-menu .mega-menu-primary-link::after {
  display: none;
}

.mega-menu .mega-menu-parent-item.has-submenu > .mega-menu-section-row .mega-menu-section-link::after {
  display: block;
}

/* CSS-only fallback; enhanced navigation has a single JS-controlled open item. */
.main-nav:not([data-menu-enhanced]) > .nav-item:hover > .mega-menu,
.main-nav:not([data-menu-enhanced]) > .nav-item:focus-within > .mega-menu,
.nav-item.is-expanded > .mega-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.mega-menu a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 48px;
  padding: 11px 14px;
  color: var(--heritage-blue);
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 0;
  transition: color 0.16s ease;
}

.mega-menu a::before {
  display: none;
}

.mega-menu a::after {
  content: "▶";
  display: none;
  flex: 0 0 auto;
  margin-left: auto;
  padding-left: 16px;
  color: currentColor;
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  opacity: 0.55;
}

.mega-menu a:hover,
.mega-menu a:focus-visible {
  color: var(--primary-blue);
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.mega-menu a.is-active,
.mega-menu a[aria-current="page"] {
  color: var(--primary-blue);
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.mega-menu strong {
  font: inherit;
}

.mega-menu a.is-active strong,
.mega-menu a[aria-current="page"] strong {
  color: inherit;
}

.mega-menu span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.nav-disabled {
  cursor: default;
  opacity: 0.42;
  white-space: nowrap;
}

.text-button {
  border: 0;
  background: transparent;
  cursor: pointer;
}

.contact-button,
.primary-button,
.secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px;
  border-radius: var(--button-radius);
  font-weight: 700;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.header-actions .contact-button {
  min-height: 40px;
  padding-inline: 22px;
  border-radius: var(--button-radius);
  box-shadow: 0 10px 24px rgba(239, 115, 3, 0.22);
  white-space: nowrap;
}

.contact-button,
.primary-button {
  color: var(--paper);
  background: var(--accent-strong);
  border: 1px solid var(--accent-strong);
}

.contact-button:hover,
.primary-button:hover {
  transform: translateY(-1px);
  background: #EB8F07;
  border-color: #EB8F07;
}

.secondary-button {
  color: var(--paper);
  border: 1px solid rgba(255, 255, 255, 0.42);
}

.secondary-button:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.82);
}

.menu-toggle {
  display: none;
}

.mobile-nav-search {
  display: none;
}

.search-box {
  display: none;
}

.lang-button {
  display: none;
}

.header-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: rgba(255, 255, 255, 0.92);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  cursor: pointer;
  transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.header-icon:hover,
.header-icon:focus {
  color: var(--paper);
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.62);
  transform: translateY(-1px);
}

.header-icon svg {
  width: 22px;
  height: 22px;
  stroke-width: 2;
}

.lang-label {
  display: inline-flex;
  align-items: center;
  min-width: max-content;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  white-space: nowrap;
  word-break: keep-all;
  writing-mode: horizontal-tb;
}

.header-tooltip {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  z-index: 20;
  padding: 6px 12px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(230, 230, 230, 0.94);
  border-radius: 6px;
  box-shadow: 0 10px 24px rgba(8, 74, 145, 0.16);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.header-tooltip::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-bottom-color: rgba(255, 255, 255, 0.98);
}

.header-icon:hover .header-tooltip,
.header-icon:focus .header-tooltip {
  opacity: 1;
  transform: translate(-50%, 0);
}

.lang-option {
  display: none;
}

.lang-option.is-active {
  display: none;
}

.hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 96px var(--site-inline-gutter) 64px;
  color: var(--paper);
  overflow: hidden;
  background: var(--deep-blue);
}

.hero-video,
.hero-overlay {
  position: absolute;
  inset: 0;
}

.hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.42s ease;
}

.hero-static-carousel {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  background: var(--deep-blue);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.42s ease;
}

.hero-static-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  object-position: center center;
  pointer-events: none;
  transition: opacity 0.7s ease;
}

.hero-overlay {
  z-index: 1;
  background: linear-gradient(112deg, rgba(8, 74, 145, 0.68) 0%, rgba(38, 68, 184, 0.66) 100%);
  pointer-events: none;
}

.hero[data-hero-mode="static"] .hero-static-carousel {
  opacity: 1;
}

.hero[data-hero-mode="static"] .hero-static-image.is-active {
  opacity: 1;
}

.hero[data-hero-mode="static"] .hero-overlay {
  background: transparent;
}

.hero-content {
  position: relative;
  z-index: 2;
}

.hero-content {
  width: min(100%, 1120px);
  max-width: 1120px;
  padding-top: 24px;
  padding-bottom: 0;
}

.hero-slogan {
  margin: 0 0 20px;
  color: #EB8F07;
  font-size: clamp(16px, 1.4vw, 21px);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-shadow: 0 2px 14px rgba(8, 74, 145, 0.3);
}

#hero-title {
  max-width: 1040px;
  margin-bottom: 26px;
  font-family: var(--font-sans);
  font-size: clamp(48px, 5.4vw, 78px);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -0.045em;
  text-shadow: 0 8px 28px rgba(8, 74, 145, 0.2);
}

html[lang="en"] #hero-title {
  max-width: 1120px;
  font-size: clamp(40px, 3.75vw, 54px);
  letter-spacing: -0.035em;
}

#hero-title span {
  display: block;
  opacity: 0;
  transform: translateY(30px);
  animation: heroTitleIn 0.78s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

#hero-title span:nth-child(2) {
  animation-delay: 0.14s;
}

@keyframes heroTitleIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--eyebrow-color);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

/* English headings already contain the translated primary title. Hide the
   auxiliary English label so bilingual heading pairs do not repeat. */
html[lang^="en"] :is(
  .eyebrow,
  .about-kicker,
  .about-section-heading > p,
  .policy-kicker,
  .search-panel-kicker,
  .search-results-kicker
) {
  display: none;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  max-width: 850px;
  margin-bottom: 24px;
  font-family: var(--font-sans);
  font-size: clamp(44px, 6.7vw, 92px);
  line-height: 1.08;
  font-weight: 700;
}

h2 {
  margin-bottom: 16px;
  font-family: var(--font-sans);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.18;
}

h3 {
  font-size: 22px;
  line-height: 1.32;
}



/* Homepage opening scene: a short voyage before the hero is revealed. */

html:has(> body.home-page) {
  scrollbar-gutter: stable;
}

html.home-intro-active,
html.home-intro-active body {
  overflow: hidden;
}

html.home-intro-seen .home-intro {
  display: none;
}

.home-intro {
  --intro-blue: #084A91;
  position: fixed;
  inset: 0;
  z-index: 100;
  overflow: hidden;
  background: transparent;
  pointer-events: auto;
  isolation: isolate;
  animation: home-intro-release 0.01s linear 8s forwards;
}

.home-intro.is-running {
  animation-delay: 2.54s;
}

.home-intro.is-complete {
  visibility: hidden;
  pointer-events: none;
}

.home-intro-curtain {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  will-change: transform;
}

.home-intro-curtain--top {
  transform: translate3d(0, 0, 0);
}

.home-intro-curtain--bottom {
  transform: translate3d(0, 0, 0);
}

.home-intro.is-running .home-intro-curtain--top {
  animation: home-intro-curtain-up 1s cubic-bezier(0.76, 0, 0.24, 1) 1.5s forwards;
}

.home-intro.is-running .home-intro-curtain--bottom {
  animation: home-intro-curtain-down 1s cubic-bezier(0.76, 0, 0.24, 1) 1.5s forwards;
}

.home-intro-wave {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  opacity: 1;
  will-change: opacity;
}

.home-intro.is-running .home-intro-wave {
  animation: home-intro-line-away 0.1s ease 1.5s forwards;
}

.home-intro-wave-reveal {
  transform: scaleX(0);
  transform-box: view-box;
  transform-origin: left center;
  will-change: transform;
}

.home-intro.is-running .home-intro-wave-reveal {
  animation: home-intro-wave-reveal 0.22s cubic-bezier(0.33, 1, 0.68, 1) 0.02s forwards;
}

.home-intro-wave path {
  fill: none;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}

.home-intro-wave-mask {
  stroke: #FFFFFF;
  stroke-width: 8;
}

.home-intro-wave-line {
  stroke: var(--intro-blue);
  stroke-width: 3;
}

.home-intro-message {
  position: absolute;
  top: 28%;
  left: clamp(32px, 14vw, 200px);
  z-index: 4;
  margin: 0;
  color: var(--intro-blue);
  font-size: clamp(36px, 4.3vw, 70px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.045em;
  white-space: nowrap;
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  will-change: transform, opacity;
  pointer-events: none;
}

html[lang^="en"] .home-intro-message {
  max-width: 14ch;
  font-size: clamp(32px, 3.7vw, 60px);
  white-space: normal;
}

.home-intro.is-running .home-intro-message {
  animation:
    home-intro-message-in 0.22s cubic-bezier(0.22, 1, 0.36, 1) 0.03s forwards,
    home-intro-top-content-away 1s cubic-bezier(0.76, 0, 0.24, 1) 1.5s forwards;
}

.home-intro-boat {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  width: clamp(82px, 8.5vw, 122px);
  color: var(--intro-blue);
  opacity: 0;
  transform: translate3d(-120px, 50vh, 0);
  will-change: transform, opacity;
  pointer-events: none;
}

.home-intro-boat-curtain {
  width: 100%;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.home-intro.is-running .home-intro-boat-curtain {
  animation: home-intro-top-content-away 1s cubic-bezier(0.76, 0, 0.24, 1) 1.5s forwards;
}

.home-intro-boat-body {
  width: 100%;
  transform: translate(-50%, -98%) rotate(var(--boat-angle, 0deg));
  transform-origin: 50% 98%;
  will-change: transform;
}

.home-intro-boat svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  transform: scaleX(-1);
  transform-origin: center;
}

@keyframes home-intro-wave-reveal {
  to {
    transform: scaleX(1);
  }
}

@keyframes home-intro-line-away {
  to {
    opacity: 0;
  }
}

@keyframes home-intro-message-in {
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes home-intro-top-content-away {
  to {
    transform: translate3d(0, -102vh, 0);
  }
}

@keyframes home-intro-curtain-up {
  to {
    transform: translate3d(0, -102%, 0);
  }
}

@keyframes home-intro-curtain-down {
  to {
    transform: translate3d(0, 102%, 0);
  }
}

@keyframes home-intro-release {
  to {
    visibility: hidden;
    pointer-events: none;
  }
}

/* Hero typography begins only after the opening curtains have fully cleared. */
.home-page #hero-title span {
  opacity: 1;
  transform: none;
  animation: none;
}

.home-page .hero.is-awaiting-intro:not(.is-intro-ready) :is(
  .hero-slogan,
  #hero-title span,
  .hero-copy,
  .hero-actions
) {
  opacity: 0;
}

.home-page .hero.is-awaiting-intro:not(.is-intro-ready) .hero-slogan {
  transform: translate3d(-22px, 0, 0);
}

.home-page .hero.is-awaiting-intro:not(.is-intro-ready) #hero-title span {
  transform: translate3d(0, 46px, 0) scale(0.985);
}

.home-page .hero.is-awaiting-intro:not(.is-intro-ready) :is(
  .hero-copy,
  .hero-actions
) {
  transform: translate3d(0, 20px, 0);
}

.home-page .hero.is-intro-ready .hero-slogan {
  animation: home-hero-slogan-in 0.68s cubic-bezier(0.16, 1, 0.3, 1) 40ms both;
}

.home-page .hero.is-intro-ready #hero-title span {
  animation: home-hero-title-line-in 0.9s cubic-bezier(0.16, 1, 0.3, 1) 150ms both;
  will-change: transform, opacity;
}

.home-page .hero.is-intro-ready #hero-title span:nth-child(2) {
  animation-delay: 270ms;
}

.home-page .hero.is-intro-ready .hero-copy {
  animation: home-hero-support-in 0.72s cubic-bezier(0.16, 1, 0.3, 1) 470ms both;
}

.home-page .hero.is-intro-ready .hero-actions {
  animation: home-hero-cta-in 0.72s cubic-bezier(0.16, 1, 0.3, 1) 610ms both;
}

.home-page .hero.is-intro-skipped :is(
  .hero-slogan,
  #hero-title span,
  .hero-copy,
  .hero-actions
) {
  opacity: 1;
  transform: none;
  animation: none;
  will-change: auto;
}

@keyframes home-hero-slogan-in {
  from {
    opacity: 0;
    transform: translate3d(-22px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes home-hero-title-line-in {
  from {
    opacity: 0;
    transform: translate3d(0, 46px, 0) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes home-hero-support-in {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes home-hero-cta-in {
  from {
    opacity: 0;
    transform: translate3d(0, 16px, 0) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@media (max-width: 767px) {
  .home-intro-message {
    top: 24%;
    left: 24px;
    right: 24px;
    font-size: clamp(31px, 9vw, 38px);
  }

  html[lang^="en"] .home-intro-message {
    max-width: 12ch;
    font-size: clamp(29px, 8vw, 35px);
  }

  .home-intro-boat {
    width: clamp(74px, 21vw, 92px);
  }

  .home-page .hero.is-awaiting-intro:not(.is-intro-ready) #hero-title span {
    transform: translate3d(0, 32px, 0) scale(0.99);
  }

  .home-page .hero.is-intro-ready #hero-title span {
    animation-name: home-hero-title-line-in-mobile;
  }
}

@keyframes home-hero-title-line-in-mobile {
  from {
    opacity: 0;
    transform: translate3d(0, 32px, 0) scale(0.99);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-intro {
    display: none;
  }

  .home-page .hero :is(
    .hero-slogan,
    #hero-title span,
    .hero-copy,
    .hero-actions
  ) {
    opacity: 1;
    transform: none;
    animation: none;
    will-change: auto;
  }
}



/* Homepage hero, trust, services, solutions, and insights sections. */

.hero-copy {
  max-width: 680px;
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.8;
  text-shadow: 0 2px 16px rgba(8, 74, 145, 0.28);
}

.hero--carousel {
  padding: 0;
}

.hero-carousel {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  background: #084A91;
}

.hero-carousel-track {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  transition: transform 0.65s ease;
}

.hero-slide {
  position: relative;
  flex: 0 0 100%;
  min-height: 100vh;
  overflow: hidden;
}

.hero-carousel-copy {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  padding: 118px var(--site-inline-gutter) 72px;
  pointer-events: none;
}

.hero-carousel-title {
  max-width: 980px;
  margin: 0;
  color: #FFFFFF;
  font-family: var(--font-sans);
  font-size: clamp(44px, 6.7vw, 92px);
  font-weight: 700;
  line-height: 1.08;
  text-shadow: 0 10px 30px rgba(32, 45, 61, 0.22);
}

.hero-carousel-title span {
  display: block;
}

.hero-slide-image {
  width: 100%;
  height: 100%;
  min-height: 100vh;
  object-fit: cover;
  object-position: center center;
  filter: saturate(1.02) contrast(1.02);
}

.hero-slide--sunrise .hero-slide-image {
  object-position: 68% 52%;
}

.hero-slide--island .hero-slide-image {
  object-position: 60% 52%;
}

.hero-slide--bridge-aerial .hero-slide-image {
  object-position: 62% 50%;
}

.hero-slide--plane .hero-slide-image {
  object-position: 68% 46%;
}

.hero-slide--bridge-curve .hero-slide-image {
  object-position: 60% 54%;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 28px;
}

.hero-content .hero-actions {
  justify-content: flex-start;
}

.hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-width: 128px;
  min-height: 46px;
  padding: 12px 34px;
  color: var(--paper);
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: var(--button-radius);
  background: transparent;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
  transition: color 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
}

.hero-cta:hover,
.hero-cta:focus-visible {
  color: var(--paper);
  border-color: var(--paper);
  background: rgba(255, 255, 255, 0.12);
}

.hero-cta:active {
  transform: translateY(1px);
}

.hero-cta-arrow {
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  color: var(--paper);
  transition: transform 0.22s ease;
}

.hero-cta:hover .hero-cta-arrow,
.hero-cta:focus-visible .hero-cta-arrow {
  transform: translateX(3px);
}

.hero-credentials {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}

.hero-credentials span {
  padding: 7px 10px;
  color: var(--sky);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 2px;
  font-size: 12px;
}

.trust-band {
  scroll-margin-top: 108px;
  padding: clamp(36px, 5vh, 52px) clamp(16px, 2vw, 36px);
  background: var(--paper);
}

.trust-inner {
  display: grid;
  grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(0px, 0.4vw, 8px);
  width: 100%;
  max-width: 1720px;
  margin-right: auto;
  margin-left: 0;
  padding-left: 0;
  box-sizing: border-box;
}

.trust-metrics {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.trust-card {
  --trust-card-padding-top: 18px;
  --trust-card-padding-bottom: 19px;
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  min-height: 0;
  padding: var(--trust-card-padding-top) 0 var(--trust-card-padding-bottom) clamp(16px, 1.5vw, 22px);
  color: var(--heritage-blue);
}

.trust-card::before {
  position: absolute;
  top: var(--trust-card-padding-top);
  bottom: var(--trust-card-padding-bottom);
  left: 0;
  width: 3px;
  background: var(--heading-accent);
  content: "";
}

.trust-card svg {
  display: none;
}

.trust-card strong {
  color: #084A91;
  font-size: clamp(34px, 3.1vw, 50px);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 0.98;
}

.trust-card span {
  color: var(--slate);
  font-size: 13px;
  font-weight: 400;
}

.license-panel {
  display: grid;
  gap: 22px;
  align-items: stretch;
}

.license-heading h3 {
  margin: 0;
  color: var(--heading-ink);
  font-size: clamp(30px, 3.8vw, 46px);
  line-height: 1.15;
  text-align: center;
}

.license-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.license-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-height: 128px;
  padding: 24px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(8, 74, 145, 0.08);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.license-card:hover {
  border-color: rgba(8, 74, 145, 0.52);
  box-shadow: 0 18px 38px rgba(8, 74, 145, 0.14);
  transform: translateY(-2px);
}

.license-card svg {
  width: 58px;
  height: 58px;
  padding: 12px;
  color: var(--primary-blue);
  background: var(--mist);
  border: 1px solid rgba(8, 74, 145, 0.12);
  border-radius: 8px;
}

.license-card div {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.license-card span {
  color: var(--ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.34;
  overflow-wrap: anywhere;
}

.license-card small {
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.section {
  padding: 104px var(--site-inline-gutter);
}

.section-heading {
  max-width: 820px;
  margin-bottom: 42px;
}

.section-heading p:not(.eyebrow) {
  color: var(--muted);
  font-size: 17px;
}

.why-ics .section-heading > .eyebrow,
.services-grid-section .section-heading > .eyebrow,
.insights-section .section-heading > .eyebrow,
.partner-logo-section .section-heading > .eyebrow,
.solutions-intro > .eyebrow {
  margin-bottom: 14px;
  color: var(--heading-accent);
  font-size: clamp(32px, 2.1vw, 36px);
  font-weight: 700;
  line-height: 1.2;
}

.home-page .section-heading h2,
.solutions-intro h2 {
  margin-bottom: 16px;
  color: var(--heading-ink);
  font-size: clamp(34px, 3.4vw, 50px);
  font-weight: 700;
  line-height: 1.16;
}

.home-page .section-heading p:not(.eyebrow),
.solutions-intro p:not(.eyebrow) {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
}

/* --- 为什么选择 ICS --- */
.why-ics {
  padding-top: var(--home-section-padding-y);
  padding-bottom: var(--home-section-padding-y);
  background: var(--paper);
}

.why-ics .section-heading {
  max-width: none;
  margin-bottom: 0;
}

.home-page .why-ics,
.home-page .insights-section {
  row-gap: 40px;
}

.why-ics-title-latin {
  display: inline-block;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  vertical-align: baseline;
}

.why-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  align-items: stretch;
  gap: clamp(22px, 1.8vw, 34px);
}

.why-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: #FFFFFF;
  border: 1px solid rgba(8, 74, 145, 0.14);
  border-radius: 12px;
  box-shadow: 0 12px 24px -20px rgba(8, 74, 145, 0.32);
  overflow: hidden;
  transition:
    border-color 0.32s ease,
    box-shadow 0.32s ease;
}

.why-card--link {
  cursor: pointer;
}

.home-page a.is-navigation-disabled,
.home-page a.is-navigation-disabled * {
  cursor: default;
}

.home-page .service-overview-cta.is-navigation-disabled,
.home-page .solution-slide-link.is-navigation-disabled,
.home-page .insight-read-more.is-navigation-disabled,
.home-page .map-marker.is-navigation-disabled .map-marker-tooltip-cta {
  display: none;
}

.why-card--link:focus-visible {
  outline: 3px solid rgba(8, 74, 145, 0.45);
  outline-offset: 4px;
}

.why-card > svg {
  display: none;
}

.why-card-media {
  position: relative;
  flex: 0 0 clamp(300px, 21vw, 360px);
  min-height: 0;
  width: 100%;
  overflow: hidden;
  background: rgba(8, 74, 145, 0.08);
}

.why-card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 74, 145, 0), rgba(8, 74, 145, 0.14));
  pointer-events: none;
}

.why-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.001);
  transition: transform 0.48s cubic-bezier(0.16, 1, 0.3, 1);
}

.why-card:nth-child(1) .why-card-media img {
  object-position: 50% 24%;
}

.why-card:nth-child(2) .why-card-media img {
  object-position: 68% 65%;
}

.why-card:nth-child(3) .why-card-media img {
  object-position: 50% 60%;
}

.why-card:nth-child(4) .why-card-media img {
  object-position: 56% 44%;
}

.why-card-body {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px;
  padding: 22px 26px 24px;
}

.why-card:hover,
.why-card:focus-within {
  border-color: rgba(8, 74, 145, 0.36);
  box-shadow:
    0 22px 32px -20px rgba(8, 74, 145, 0.42),
    inset 0 -2px 0 rgba(8, 74, 145, 0.1);
}

.why-card:hover .why-card-media img,
.why-card:focus-within .why-card-media img {
  transform: scale(1.075);
}

.why-card h3 {
  color: var(--heading-ink);
  font-size: 20px;
  line-height: 1.32;
  margin-bottom: 0;
}

.why-card p {
  width: 100%;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.72;
  margin: 0;
}

html[lang="zh-CN"] .why-card p {
  text-align: justify;
  text-align-last: left;
}

.intro {
  background: var(--paper);
}

.intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr);
  gap: 48px;
  align-items: center;
}

.large-copy {
  margin-bottom: 0;
  color: var(--heritage-blue);
  font-size: 28px;
  line-height: 1.45;
}

.intro-points {
  display: grid;
  gap: 14px;
}

.intro-points span {
  padding: 18px 20px;
  background: var(--mist);
  border-left: 4px solid var(--primary-blue);
}

.credentials-section {
  background: #FFFFFF;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.credential-table {
  display: grid;
  border-top: 1px solid var(--line);
  background: var(--paper);
}

.credential-table > div {
  display: grid;
  grid-template-columns: minmax(180px, 0.32fr) minmax(0, 1fr) minmax(190px, 0.32fr);
  gap: 28px;
  align-items: center;
  min-height: 88px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}

.credential-table strong {
  color: var(--heritage-blue);
  font-size: 18px;
}

.credential-table span {
  color: var(--ink);
}

.credential-table small {
  color: var(--muted);
  text-align: right;
}

.services {
  background:
    linear-gradient(180deg, var(--paper), var(--mist));
}

.service-list,
.article-grid {
  display: grid;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.service-row,
.article-card,
.news-list article {
  min-height: 250px;
  padding: 28px;
  background: var(--paper);
  border: 0;
  border-radius: 0;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.service-row:hover,
.article-card:hover,
.news-list article:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  position: relative;
  z-index: 1;
}

.service-row span,
.article-card span {
  color: var(--primary-blue);
  font-weight: 700;
}

.service-row p,
.article-card p {
  color: var(--muted);
}

.service-row {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) minmax(260px, 0.42fr) auto;
  gap: 32px;
  align-items: start;
  min-height: 0;
  padding: 34px 36px;
  position: relative;
  cursor: pointer;
}

.service-row.is-active {
  background: var(--mist);
}

.service-row::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  background: var(--primary-blue);
  transition: width 0.18s ease;
}

.service-row:hover::before {
  width: 4px;
}

.service-row h3 {
  margin-bottom: 8px;
  font-size: 28px;
}

.service-row small {
  color: var(--slate);
  line-height: 1.7;
}

.row-link {
  color: var(--primary-blue);
  font-weight: 700;
  white-space: nowrap;
  transition: transform 0.16s ease;
}

.service-row:hover .row-link {
  transform: translateX(3px);
}

.service-row.featured {
  background: var(--mist);
}

.service-preview {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(420px, 1fr) auto;
  gap: 32px;
  align-items: start;
  margin-top: 28px;
  padding: 32px;
  color: var(--paper);
  background: linear-gradient(135deg, var(--heritage-blue), var(--primary-blue));
  border-radius: 0;
}

.service-preview h3 {
  font-size: 32px;
}

.service-preview p,
.service-preview li {
  color: rgba(255, 255, 255, 0.78);
}

.preview-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.preview-columns strong {
  display: block;
  margin-bottom: 10px;
}

.preview-columns ul {
  padding-left: 18px;
  margin: 0;
}

.global-band,
.news-band {
  padding: 92px var(--site-inline-gutter);
  color: var(--paper);
  background: var(--deep-blue);
}

.global-heading,
.split-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(320px, 0.62fr);
  gap: 48px;
  align-items: end;
  margin-bottom: 42px;
}

.global-heading p:not(.eyebrow),
.split-heading p {
  color: rgba(255, 255, 255, 0.72);
  margin-bottom: 0;
}

.split-heading p {
  color: var(--muted);
}

.jurisdiction-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.16);
}

.route-line {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto 1fr auto;
  gap: 14px;
  align-items: center;
  margin-top: 34px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
}

.route-line i {
  display: block;
  height: 1px;
  background: rgba(255, 255, 255, 0.32);
}

.jurisdiction-grid div {
  min-height: 142px;
  padding: 24px;
  background: rgba(255, 255, 255, 0.08);
}

.jurisdiction-grid strong,
.jurisdiction-grid span {
  display: block;
}

.jurisdiction-grid strong {
  margin-bottom: 8px;
  font-size: 24px;
}

.jurisdiction-grid span {
  color: rgba(255, 255, 255, 0.72);
}

.presence-map {
  position: relative;
  scroll-margin-top: 108px;
  overflow: visible;
  width: 100%;
  max-width: 1400px;
  margin: 0;
  padding: 0;
  background: transparent;
}

.presence-map img {
  display: block;
  width: 100%;
  height: auto;
  background: transparent;
}

.presence-map-markers {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.map-marker {
  position: absolute;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 30px;
  height: 35px;
  padding: 0;
  color: #8496B0;
  background: transparent;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  pointer-events: auto;
  text-decoration: none;
  transform: translate(-50%, -50%);
}

@media (prefers-reduced-motion: no-preference) {
  .presence-map.reveal.is-visible .map-marker {
    animation: map-marker-enter 1.05s cubic-bezier(0.16, 1, 0.3, 1) both;
  }

  .presence-map.reveal.is-visible .map-marker--haikou { animation-delay: 0.55s; }
  .presence-map.reveal.is-visible .map-marker--hong-kong { animation-delay: 0.82s; }
  .presence-map.reveal.is-visible .map-marker--bvi,
  .presence-map.reveal.is-visible .map-marker--cayman { animation-delay: 1.09s; }
  .presence-map.reveal.is-visible .map-marker--shanghai { animation-delay: 1.36s; }
  .presence-map.reveal.is-visible .map-marker--shenzhen { animation-delay: 1.63s; }
  .presence-map.reveal.is-visible .map-marker--beijing { animation-delay: 1.9s; }
  .presence-map.reveal.is-visible .map-marker--foshan { animation-delay: 2.17s; }
  .presence-map.reveal.is-visible .map-marker--california { animation-delay: 2.44s; }
}

.map-marker::before {
  position: absolute;
  width: 20px;
  height: 20px;
  border: 1px solid currentColor;
  border-radius: inherit;
  content: "";
  opacity: 0;
  transform: scale(0.48);
}

.map-marker-dot {
  position: relative;
  display: block;
  width: 18px;
  height: 18px;
  background: currentColor;
  border-radius: 50% 50% 50% 0;
  box-shadow: 0 4px 8px rgba(68, 84, 106, 0.26);
  transform: rotate(-45deg);
}

.map-marker-dot::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  background: #FFFFFF;
  border-radius: 50%;
  content: "";
  transform: translate(-50%, -50%);
}

.map-marker-label {
  position: absolute;
  color: #4B5563;
  font-family: inherit;
  font-size: clamp(10px, 1vw, 17px);
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  pointer-events: none;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.96);
  white-space: nowrap;
}

.map-marker--licensed .map-marker-label {
  cursor: pointer;
  pointer-events: auto;
}

.map-marker-label--california,
.map-marker-label--bvi,
.map-marker-label--hong-kong {
  top: 50%;
  left: calc(100% - 4px);
  transform: translateY(-50%);
}

.map-marker-label--hong-kong {
  top: calc(50% + 4px);
}

.map-marker-label--cayman {
  top: calc(100% - 3px);
  right: 45%;
}

.map-marker-label--beijing {
  bottom: calc(100% + 3px);
  left: calc(100% - 2px);
}

.map-marker-label--shanghai {
  bottom: calc(100% - 11px);
  left: calc(100% + 10px);
}

.map-marker-label--shenzhen {
  bottom: calc(100% - 11px);
  left: calc(100% - 4px);
}

.map-marker-label--foshan {
  top: calc(35% - 10px);
  right: calc(100% - 2px);
}

.map-marker-label--haikou {
  top: calc(100% - 4px);
  right: calc(100% + 4px);
}

.map-marker-tooltip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  display: grid;
  width: max-content;
  max-width: min(340px, 80vw);
  gap: 10px;
  padding: 14px 16px;
  color: #374151;
  background: #FFFFFF;
  border: 1px solid rgba(8, 74, 145, 0.16);
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(31, 41, 55, 0.16);
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  opacity: 0;
  pointer-events: none;
  text-align: left;
  transform: translate(-50%, 5px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  visibility: hidden;
}

.map-marker-tooltip::after {
  position: absolute;
  right: 0;
  bottom: -9px;
  left: 0;
  height: 9px;
  content: "";
}

.map-marker-tooltip--license {
  display: grid;
  width: 310px;
  gap: 9px;
  padding: 16px 18px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
}

.map-marker-tooltip--license > span:not(.map-marker-tooltip-title):not(.map-marker-tooltip-cta) {
  position: relative;
  padding-left: 14px;
}

.map-marker-tooltip--license > span:not(.map-marker-tooltip-title):not(.map-marker-tooltip-cta)::before {
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 5px;
  height: 5px;
  background: #EB8F07;
  border-radius: 50%;
  content: "";
}

.map-marker-tooltip-title {
  padding-bottom: 10px;
  color: #374151;
  border-bottom: 1px solid rgba(55, 65, 81, 0.14);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.map-marker-tooltip-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 2px;
  color: #374151;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.map-marker-tooltip-cta > span {
  color: #EB8F07;
  font-size: 17px;
  line-height: 1;
  transition: transform 0.18s ease;
}

.map-marker:hover .map-marker-tooltip-cta > span,
.map-marker:focus .map-marker-tooltip-cta > span {
  transform: translateX(3px);
}

.map-marker:hover,
.map-marker:focus {
  z-index: 3;
}

.map-marker:hover::before,
.map-marker:focus::before {
  animation: map-marker-pulse 1.5s ease-out infinite;
}

.map-marker:hover .map-marker-tooltip,
.map-marker:focus .map-marker-tooltip {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
  visibility: visible;
}

.map-marker:focus-visible {
  outline: 2px solid #FFFFFF;
  outline-offset: 2px;
}

.map-marker--international {
  z-index: 2;
  width: 20px;
  height: 23px;
  color: var(--primary-blue);
}

.map-marker--international .map-marker-dot {
  width: 10px;
  height: 10px;
  box-shadow: 0 2px 4px rgba(8, 74, 145, 0.24);
}

.map-marker--international .map-marker-dot::after {
  width: 4px;
  height: 4px;
}

.map-marker--domestic {
  z-index: 2;
  width: 20px;
  height: 23px;
  color: var(--accent-strong);
}

.map-marker--domestic .map-marker-dot {
  width: 10px;
  height: 10px;
  box-shadow: 0 3px 6px rgba(235, 143, 7, 0.28);
}

.map-marker--domestic .map-marker-dot::after {
  width: 4px;
  height: 4px;
}

.map-marker--headquarters {
  z-index: 3;
  width: 24px;
  height: 28px;
  color: var(--accent-strong);
}

.map-marker--headquarters .map-marker-dot {
  width: 13px;
  height: 13px;
}

.map-marker--headquarters .map-marker-dot::after {
  width: 5px;
  height: 5px;
}

.map-marker--california { left: 17.4%; top: 39.2%; }
.map-marker--cayman { left: 27.6%; top: 51.6%; }
.map-marker--bvi { left: 27.9%; top: 48.8%; }
.map-marker--beijing { left: 79.3%; top: 38.3%; }
.map-marker--shanghai { left: 81.1%; top: 44.2%; }
.map-marker--shenzhen { left: 79.4%; top: 49.2%; }
.map-marker--foshan { left: 78.7%; top: 49.5%; }
.map-marker--haikou { left: 78.3%; top: 51.4%; }
.map-marker--hong-kong { left: 79.3%; top: 50%; }

.map-marker--cayman .map-marker-tooltip,
.map-marker--bvi .map-marker-tooltip {
  left: 0;
  transform: translate(0, 5px);
}

.map-marker--cayman:hover .map-marker-tooltip,
.map-marker--cayman:focus .map-marker-tooltip,
.map-marker--bvi:hover .map-marker-tooltip,
.map-marker--bvi:focus .map-marker-tooltip {
  transform: translate(0, 0);
}

@keyframes map-marker-pulse {
  0% { opacity: 0.9; transform: scale(0.48); }
  75%, 100% { opacity: 0; transform: scale(1.15); }
}

@keyframes map-marker-enter {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.72);
    visibility: hidden;
  }
  1% {
    visibility: visible;
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    visibility: visible;
  }
}

@media (prefers-reduced-motion: reduce) {
  .map-marker:hover::before,
  .map-marker:focus::before {
    animation: none;
  }

  .map-marker-tooltip,
  .map-marker-tooltip-cta > span {
    transition: none;
  }
}

@media (max-width: 640px) {
  .map-marker-tooltip {
    display: none;
  }

  .map-marker--international {
    width: 20px;
    height: 23px;
  }

  .map-marker--international .map-marker-dot {
    width: 10px;
    height: 10px;
  }

  .map-marker--hong-kong .map-marker-tooltip {
    right: 0;
    left: auto;
    transform: translate(0, 5px);
  }

  .map-marker--hong-kong:hover .map-marker-tooltip,
  .map-marker--hong-kong:focus .map-marker-tooltip {
    transform: translate(0, 0);
  }
}

@media (max-height: 820px) and (min-width: 900px) {
  .trust-band {
    padding-block: 32px;
  }

  .trust-inner {
    max-width: 1600px;
    gap: clamp(0px, 0.5vw, 8px);
  }

  .trust-card {
    --trust-card-padding-top: 16px;
    --trust-card-padding-bottom: 17px;
    min-height: 0;
  }

  .trust-card svg {
    width: 24px;
    height: 24px;
  }

  .trust-card strong {
    font-size: clamp(28px, 3vw, 42px);
  }
}

.home-page .trust-band {
  display: block;
  min-height: auto;
  padding: var(--home-section-padding-y) var(--site-inline-gutter) clamp(40px, 4vw, 64px);
}

/* The trust map and Why ICS form one continuous proof sequence, so their
   adjacent section padding should not accumulate into a blank band. */
.home-page .trust-band + .why-ics {
  padding-top: clamp(64px, 5vw, 88px);
}

@media (max-width: 767px) {
  .home-page .trust-band + .why-ics {
    padding-top: 72px;
  }
}

@media (max-width: 1120px) {
  .trust-inner {
    grid-template-columns: minmax(190px, 225px) minmax(0, 1fr);
    gap: clamp(0px, 0.6vw, 8px);
  }

  .trust-inner .trust-metrics {
    grid-template-columns: 1fr;
  }

  .trust-card {
    --trust-card-padding-top: 15px;
    --trust-card-padding-bottom: 16px;
    min-height: 0;
  }
}

@media (max-width: 860px) {
  .trust-inner {
    grid-template-columns: 1fr;
    padding-left: 0;
  }

  .trust-inner .trust-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 20px;
  }

  .trust-card {
    padding-right: 0;
  }
}

@media (max-width: 560px) {
  .trust-inner .trust-metrics {
    grid-template-columns: 1fr;
  }
}

.clients {
  width: 100%;
  padding: clamp(30px, 4vh, 48px) 0 0;
  background: transparent;
}

.client-carousel-title {
  margin: 0 0 30px;
  color: var(--paper);
  text-align: center;
}

.partner-carousel {
  display: grid;
  gap: 26px;
  max-width: 1450px;
  margin-inline: auto;
}

.partner-carousel-frame {
  position: relative;
  width: 100%;
  min-width: 0;
}

.partner-carousel-viewport {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(8, 74, 145, 0.1);
  border-radius: 8px;
  background: var(--paper);
}

.partner-carousel-track {
  display: flex;
  width: 100%;
  min-width: 0;
  transition: transform 0.55s ease;
  will-change: transform;
}

.partner-logo-page {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  flex: 0 0 100%;
  min-width: 100%;
  gap: 18px;
  padding: 24px 28px;
}

.partner-logo-cell {
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1;
  min-width: 0;
  padding: 18px;
  background: var(--paper);
  border: 1px solid rgba(230, 230, 230, 0.78);
  border-radius: 0;
}

.partner-logo-cell img {
  display: block;
  width: 92%;
  height: 92%;
  max-width: 190px;
  max-height: 122px;
  object-fit: contain;
}

.partner-carousel-controls {
  display: flex;
  align-items: center;
  justify-content: center;
}

.partner-carousel-button {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  color: var(--paper);
  background: transparent;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  transform: translateY(-50%);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.partner-carousel-button svg {
  width: 60px;
  height: 60px;
  stroke-width: 2.5;
}

.partner-carousel-button-prev {
  left: -90px;
}

.partner-carousel-button-next {
  right: -90px;
}

.partner-carousel-button:hover,
.partner-carousel-button:focus-visible {
  color: var(--paper);
  background: transparent;
  opacity: 0.76;
  transform: translateY(-50%) scale(1.08);
}

.partner-carousel-dots {
  display: flex;
  align-items: center;
  gap: 10px;
}

.partner-carousel-dot {
  width: 9px;
  height: 9px;
  padding: 0;
  background: rgba(255, 255, 255, 0.42);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: width 0.18s ease, background 0.18s ease;
}

.partner-carousel-dot.is-active {
  width: 28px;
  background: var(--paper);
  border-radius: 999px;
}

.why-ics + .services-grid-section,
.clients + .services-grid-section {
  padding-top: 112px;
}

/* --- 服务总览：横向循环轮播 --- */
.services-grid-section {
  display: grid;
  grid-template-columns: minmax(270px, 360px) minmax(0, 1fr);
  align-items: center;
  justify-content: space-between;
  column-gap: clamp(42px, 5.2vw, 88px);
  padding-right: 0;
  padding-left: var(--site-inline-gutter);
  padding-bottom: 112px;
  background: var(--paper);
  overflow: hidden;
}

.services-grid-section .section-heading {
  max-width: 420px;
  margin: 0;
  text-align: left;
}

.services-grid-section .section-heading h2 {
  font-size: clamp(32px, 3.4vw, 46px);
  line-height: 1.18;
}

.services-grid-section .section-heading p:not(.eyebrow) {
  max-width: 390px;
}

.service-carousel-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 44px;
}

.service-carousel-button {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  color: #EB8F07;
  font-size: 22px;
  line-height: 1;
  background: transparent;
  border: 1px solid #EB8F07;
  border-radius: 50%;
  cursor: pointer;
  transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.service-carousel-button:hover,
.service-carousel-button:focus-visible {
  color: var(--paper);
  background: #EB8F07;
  border-color: #EB8F07;
}

.service-carousel-button:active {
  transform: scale(0.96);
}

.service-carousel-count {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: 12px;
  color: var(--muted);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

.service-carousel-count b {
  color: var(--primary-blue);
  font-size: 15px;
}

.service-carousel-count i {
  width: 26px;
  height: 1px;
  background: rgba(8, 74, 145, 0.35);
}

.service-carousel {
  min-width: 0;
  padding: 36px 0 42px;
}

.service-carousel-viewport {
  padding-block: 18px 24px;
  margin-block: -18px -24px;
  overflow: hidden;
}

.service-cards {
  display: flex;
  gap: 24px;
  width: max-content;
  margin: 0;
  will-change: transform;
  transition: transform 0.65s cubic-bezier(0.22, 0.78, 0.22, 1);
}

.service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 0 0 clamp(230px, 23vw, 330px);
  height: clamp(356px, 34vw, 470px);
  gap: 10px;
  padding: 18px 18px 20px;
  color: var(--paper);
  background: linear-gradient(155deg, #084A91 0%, #084A91 100%);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 14px;
  box-shadow: 0 18px 44px rgba(8, 74, 145, 0.15);
  cursor: pointer;
  overflow: hidden;
  transform: scale(0.94);
  transform-origin: left center;
  opacity: 0.74;
  transition: transform 0.65s cubic-bezier(0.22, 0.78, 0.22, 1), opacity 0.45s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.service-card.is-featured {
  z-index: 1;
  transform: scale(1.06);
  opacity: 1;
  border-color: rgba(255, 255, 255, 0.7);
  box-shadow: 0 30px 68px rgba(8, 74, 145, 0.23);
}

.service-card:hover,
.service-card:focus-visible {
  opacity: 1;
  border-color: var(--paper);
  box-shadow: 0 30px 68px rgba(8, 74, 145, 0.3);
}

.service-card:not(.is-featured):hover,
.service-card:not(.is-featured):focus-visible {
  transform: scale(0.97) translateY(-4px);
}

.service-card.is-featured:hover,
.service-card.is-featured:focus-visible {
  transform: scale(1.06) translateY(-4px);
}

.service-card-visual {
  position: relative;
  flex: 0 0 138px;
  height: 138px;
  margin: -18px -18px 4px;
  overflow: hidden;
  background:
    radial-gradient(circle at 75% 25%, rgba(255, 255, 255, 0.26), transparent 18%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.02));
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.service-card-visual::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -60px;
  bottom: -110px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
}

.visual-orbit,
.visual-globe,
.visual-sheet,
.visual-document,
.visual-register {
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.54);
}

.visual-orbit {
  left: 53%;
  top: 49%;
  width: 130px;
  height: 54px;
  border-radius: 50%;
  transform: translate(-50%, -50%) rotate(-23deg);
}

.visual-orbit--two { transform: translate(-50%, -50%) rotate(32deg) scale(0.76); }
.visual-building { position: absolute; left: 50%; bottom: 15px; width: 40px; height: 82px; border: 1px solid rgba(255,255,255,.78); transform: translateX(-50%); }
.visual-building::before { content: ""; position: absolute; left: 9px; top: 10px; width: 7px; height: 7px; background: rgba(255,255,255,.9); box-shadow: 15px 0 rgba(255,255,255,.9), 0 17px rgba(255,255,255,.9), 15px 17px rgba(255,255,255,.9), 0 34px rgba(255,255,255,.9), 15px 34px rgba(255,255,255,.9); }
.visual-dot { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 6px rgba(235,143,7,.15); }
.visual-dot--one { left: 29%; top: 35%; }.visual-dot--two { right: 23%; bottom: 27%; }

.visual-globe { left: 50%; top: 50%; width: 104px; height: 104px; border-radius: 50%; transform: translate(-50%, -50%); }
.visual-globe::before, .visual-globe::after { content: ""; position: absolute; inset: 15px 0; border-top: 1px solid rgba(255,255,255,.5); border-bottom: 1px solid rgba(255,255,255,.5); border-radius: 50%; }
.visual-globe::after { inset: 0 23px; border: 0; border-left: 1px solid rgba(255,255,255,.5); border-right: 1px solid rgba(255,255,255,.5); }
.visual-route { position: absolute; width: 142px; height: 74px; left: 20%; top: 24%; border-top: 1px dashed rgba(255,255,255,.8); border-radius: 50%; transform: rotate(20deg); }.visual-route--two { top: 54%; transform: rotate(-28deg); }
.visual-plane { position: absolute; right: 20%; top: 23%; color: var(--accent); font-size: 22px; transform: rotate(20deg); }

.visual-bars { position: absolute; display: flex; align-items: end; gap: 9px; left: 26%; bottom: 26px; height: 76px; }.visual-bars i { width: 14px; background: rgba(255,255,255,.76); }.visual-bars i:nth-child(1){height:26px}.visual-bars i:nth-child(2){height:43px}.visual-bars i:nth-child(3){height:58px}.visual-bars i:nth-child(4){height:76px;background:var(--accent)}
.visual-growth { position: absolute; width: 112px; height: 54px; left: 27%; top: 29%; border-top: 2px solid rgba(255,255,255,.88); transform: rotate(-28deg); }.visual-growth::after { content:""; position:absolute; right:-2px; top:-6px; width:10px; height:10px; border-top:2px solid rgba(255,255,255,.88); border-right:2px solid rgba(255,255,255,.88); transform:rotate(45deg); }.visual-coin { position:absolute; right:18%; top:22%; display:grid; place-items:center; width:32px; height:32px; color:var(--primary-blue); font-size:15px; font-weight:700; background:var(--accent); border-radius:50%; }

.visual-sheet { left: 50%; top: 52%; width: 82px; height: 104px; padding: 20px 13px; transform: translate(-50%, -50%) rotate(-7deg); background: rgba(255,255,255,.12); }.visual-sheet i, .visual-document i, .visual-register i { display:block; height:2px; margin-bottom:11px; background:rgba(255,255,255,.74); }.visual-sheet i:nth-child(2), .visual-document i:nth-child(2) { width:64%; }.visual-check { position:absolute; right:23%; bottom:20%; display:grid; place-items:center; width:34px; height:34px; color:var(--primary-blue); font-weight:700; background:var(--accent); border-radius:50%; }

.visual-document { left:50%; top:49%; width:78px; height:104px; padding:27px 14px; transform:translate(-50%,-50%); background:rgba(255,255,255,.12); }.visual-document::before { content:""; position:absolute; top:-1px; right:-1px; width:22px; height:22px; border-left:1px solid rgba(255,255,255,.54); border-bottom:1px solid rgba(255,255,255,.54); background:#084A91; }.visual-seal { position:absolute; right:24%; bottom:18%; width:38px; height:38px; border:2px solid var(--accent); border-radius:50%; box-shadow:0 0 0 5px rgba(235,143,7,.18); }

.visual-register { left:50%; top:50%; width:130px; height:84px; padding:18px 17px; transform:translate(-50%,-50%) rotate(4deg); background:rgba(255,255,255,.1); }.visual-register i { margin-bottom:9px; }.visual-register i:nth-child(3) { width:74%; }.visual-stamp { position:absolute; right:18%; bottom:17%; padding:3px 6px; color:var(--accent); font-size:11px; font-weight:700; border:1px solid var(--accent); transform:rotate(-13deg); }

.service-card-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: var(--paper);
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 9px;
  transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.service-card:hover .service-card-icon,
.service-card:focus-visible .service-card-icon {
  color: var(--primary-blue);
  background: var(--paper);
  border-color: var(--paper);
}

.service-card h3 {
  margin: 0;
  color: var(--paper);
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.35;
}

.service-card p {
  flex: 1;
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
  line-height: 1.62;
}

.card-tags {
  color: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  line-height: 1.5;
}

.card-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  color: var(--paper);
  font-size: 12px;
  font-weight: 700;
}

.card-link span {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: var(--paper);
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 50%;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.service-card:hover .card-link span,
.service-card:focus-visible .card-link span {
  opacity: 1;
  transform: translateX(0);
}

/* --- 分阶段解决方案 Tabs --- */
.solutions-tabs {
  position: relative;
  min-height: 0;
  padding: clamp(52px, 5.5vw, 84px) var(--site-inline-gutter);
  color: var(--ink);
  overflow: hidden;
  background: rgba(8, 74, 145, 0.06);
}

.solutions-tabs::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 82% 0%, rgba(8, 74, 145, 0.11), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.44), transparent 34%);
  opacity: 1;
  pointer-events: none;
}

.solutions-tabs > * {
  position: relative;
  z-index: 1;
}

.solutions-stage {
  display: grid;
  gap: 40px;
  width: 100%;
  margin: 0 auto;
}

.solutions-intro {
  max-width: none;
}

.solutions-intro h2 {
  max-width: none;
  font-size: clamp(28px, 3.4vw, 50px);
  white-space: nowrap;
}

.solutions-intro p:not(.eyebrow) {
  max-width: none;
  white-space: nowrap;
}

html[lang^="en"] .solutions-intro h2,
html[lang^="en"] .solutions-intro p:not(.eyebrow) {
  white-space: normal;
}

.solution-carousel {
  min-width: 0;
}

.solution-carousel-viewport {
  overflow: hidden;
  margin-inline: -8px;
  padding: 8px;
}

.solution-carousel-track {
  display: flex;
  gap: clamp(14px, 1.6vw, 22px);
  transition: transform 0.42s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

.solution-slide {
  display: grid;
  grid-template-rows: minmax(0, 3.5fr) minmax(84px, 1fr);
  flex: 0 0 clamp(230px, 22vw, 300px);
  height: calc(max(280px, 24vw) + 86px);
  overflow: hidden;
  background: var(--paper);
  border: 1px solid rgba(8, 74, 145, 0.14);
  border-radius: 0;
  box-shadow: 0 12px 24px -20px rgba(8, 74, 145, 0.32);
  transition:
    border-color 0.32s ease,
    box-shadow 0.32s ease;
}

.solution-slide:hover,
.solution-slide:focus-within {
  border-color: rgba(8, 74, 145, 0.36);
  box-shadow:
    0 22px 32px -20px rgba(8, 74, 145, 0.42),
    inset 0 -2px 0 rgba(8, 74, 145, 0.1);
}

.solution-slide-media {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.solution-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.88) contrast(1.03);
  transform: scale(1.001);
  transition: transform 0.48s cubic-bezier(0.16, 1, 0.3, 1);
}

.solution-slide:hover img,
.solution-slide:focus-within img {
  transform: scale(1.075);
}

.solution-slide-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 84px;
  padding: 16px 18px;
}

.solution-slide h3 {
  margin: 0;
  color: var(--heading-ink);
  font-size: clamp(17px, 1.4vw, 21px);
  line-height: 1.3;
}

.solution-slide-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  color: #084A91;
  font-weight: 700;
  transition: color 0.2s ease;
}

.solution-slide-link span {
  font-size: 26px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.solution-slide-link:hover,
.solution-slide-link:focus-visible {
  color: #084A91;
}

.solution-slide-link:hover span,
.solution-slide-link:focus-visible span,
.solution-slide:hover .solution-slide-link span,
.solution-slide:focus-within .solution-slide-link span {
  transform: translateX(4px);
}

.solution-carousel-controls {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
}

.solution-carousel-button {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  color: #EB8F07;
  background: transparent;
  border: 1px solid #EB8F07;
  border-radius: 50%;
  cursor: pointer;
  font-size: 18px;
  transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.solution-carousel-button:hover,
.solution-carousel-button:focus-visible {
  color: var(--paper);
  background: #EB8F07;
}

.solution-carousel-button:active {
  transform: translateY(1px);
}

@media (max-width: 767px) {
  .solutions-tabs {
    padding: 56px 24px;
  }

  .solutions-intro h2 {
    font-size: clamp(24px, 7vw, 32px);
    white-space: normal;
  }

  .solutions-intro p:not(.eyebrow) {
    white-space: normal;
  }

  /* Keep the active card on the section's left edge and clip both neighbours. */
  .solution-carousel-viewport {
    margin-inline: 0;
    padding: 8px 0;
  }

  .solution-carousel-track {
    gap: 14px;
  }

  .solution-slide {
    grid-template-rows: minmax(0, 3fr) minmax(0, 1fr);
    flex-basis: 100%;
    height: calc(max(220px, 72vw) + 98px);
  }

  .solution-slide-body {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    min-height: 0;
    padding: 12px 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .solution-carousel-track,
  .solution-slide,
  .solution-slide img,
  .solution-slide-link span,
  .solution-carousel-button {
    transition: none;
  }

  .solution-slide:hover img,
  .solution-slide:focus-within img,
  .solution-slide:hover .solution-slide-link span,
  .solution-slide:focus-within .solution-slide-link span {
    transform: none;
  }
}

/* --- 洞见研究卡片 --- */
.insights,
.insights-section {
  background: var(--paper);
}

.insights-section {
  border-top: 1px solid rgba(230, 230, 230, 0.9);
  border-bottom: 1px solid rgba(230, 230, 230, 0.9);
}

.insights-section .section-heading {
  max-width: 760px;
  margin-bottom: 0;
}

.insights-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.insight-card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 12px 24px -20px rgba(8, 74, 145, 0.32);
  transition:
    border-color 0.32s ease,
    box-shadow 0.32s ease;
}

.insight-card:hover,
.insight-card:focus-within {
  border-color: rgba(8, 74, 145, 0.36);
  box-shadow:
    0 22px 32px -20px rgba(8, 74, 145, 0.42),
    inset 0 -2px 0 rgba(8, 74, 145, 0.1);
}

.insight-card-media {
  position: relative;
  aspect-ratio: 16 / 9;
  margin: 0;
  overflow: hidden;
  background: var(--mist);
}

.insight-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.001);
  transition: transform 0.48s cubic-bezier(0.16, 1, 0.3, 1);
}

.insight-card:hover .insight-card-media img,
.insight-card:focus-within .insight-card-media img {
  transform: scale(1.075);
}

.insight-card-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 264px;
  padding: 24px;
}

.insight-tag {
  width: max-content;
  padding: 6px 10px;
  color: var(--primary-blue);
  background: rgba(8, 74, 145, 0.09);
  border: 1px solid rgba(8, 74, 145, 0.16);
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.insight-card h3 {
  margin: 0;
  color: var(--heading-ink);
  font-size: 21px;
  line-height: 1.42;
}

.insight-card h3 a {
  color: inherit;
  text-decoration: none;
}

.insight-card-media {
  position: relative;
  aspect-ratio: 16 / 9;
  margin: 0;
  overflow: hidden;
  background: var(--mist);
  text-decoration: none;
}

.insight-card p {
  width: 100%;
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.72;
}

html[lang="zh-CN"] .insight-card p {
  text-align: justify;
  text-align-last: left;
}

.insight-read-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  color: var(--primary-blue);
  font-size: 15px;
  font-weight: 700;
}

.insight-read-more span {
  transition: transform 0.18s ease;
}

.insight-card:hover .insight-read-more span,
.insight-card:focus-within .insight-read-more span {
  transform: translateX(5px);
}

@media (prefers-reduced-motion: reduce) {
  .why-card,
  .why-card-media img,
  .insight-card,
  .insight-card-media img,
  .insight-read-more span {
    transition: none;
  }

  .why-card:hover .why-card-media img,
  .why-card:focus-within .why-card-media img,
  .insight-card:hover .insight-card-media img,
  .insight-card:focus-within .insight-card-media img,
  .insight-card:hover .insight-read-more span,
  .insight-card:focus-within .insight-read-more span {
    transform: none;
  }
}



/* Shared content cards, forms, consultation, and footer components. */

.careers {
  background: var(--paper);
}

.career-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.career-grid article {
  min-height: 190px;
  padding: 28px;
  background: var(--mist);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.career-grid p {
  color: var(--muted);
}

.article-card {
  min-height: 230px;
}

.article-grid {
  border-color: var(--line);
}

.news-band {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(420px, 1fr);
  gap: 56px;
  background:
    linear-gradient(135deg, rgba(8, 74, 145, 0.96), rgba(132, 150, 176, 0.62)),
    var(--heritage-blue);
}

.news-copy p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.78);
}

.cms-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}

.cms-fields span {
  padding: 7px 10px;
  color: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 2px;
  font-size: 12px;
}

.news-list {
  display: grid;
  gap: 18px;
}

.news-list article {
  min-height: auto;
  color: var(--ink);
}

.news-list time {
  color: var(--accent-strong);
  font-weight: 700;
}

.news-link {
  display: inline-block;
  margin-top: 10px;
  color: var(--primary-blue);
  font-weight: 700;
}

.contact-section {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(420px, 1fr);
  gap: 56px;
  background: var(--mist);
}

.office-list {
  display: grid;
  gap: 8px;
  color: var(--slate);
}

.contact-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: 28px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.contact-form label {
  display: grid;
  gap: 8px;
  color: var(--slate);
  font-weight: 700;
}

.form-intro {
  display: grid;
  gap: 4px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.form-intro strong {
  color: var(--heritage-blue);
  font-size: 20px;
}

.form-intro span {
  color: var(--muted);
}

.contact-form .full {
  grid-column: 1 / -1;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 12px 13px;
  color: var(--ink);
  background: var(--paper);
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: var(--primary-blue);
  box-shadow: 0 0 0 3px rgba(8, 74, 145, 0.14);
}

.contact-form button {
  width: max-content;
  cursor: pointer;
}

.consultation-page-section {
  background: #FFFFFF;
  padding-top: 56px;
  padding-bottom: 56px;
}

.consultation-shell {
  max-width: 1080px;
  margin: 0 auto;
}

.consultation-form {
  gap: 16px 24px;
  padding: 30px 40px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
  position: relative;
}

.consultation-form::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--heritage-blue);
}

.consultation-form label {
  align-content: start;
  gap: 7px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

.consultation-form .consultation-field {
  display: grid;
  align-content: start;
  gap: 7px;
}

.consultation-form .consultation-identity-fields {
  display: grid;
  align-content: start;
  gap: 7px;
}

.consultation-form .consultation-channel-field {
  display: flex;
  min-height: 32px;
  min-width: 0;
  align-items: center;
  gap: 22px;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

.consultation-form .consultation-field-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

.consultation-form .consultation-choice-group {
  display: flex;
  min-height: 32px;
  width: max-content;
  max-width: 100%;
  align-items: center;
  gap: 24px;
}

.consultation-form .consultation-choice-option {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 8px;
  color: var(--slate);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
  cursor: pointer;
}

.consultation-form .consultation-choice-option input[type="radio"] {
  flex: 0 0 auto;
}

.consultation-form input,
.consultation-form select,
.consultation-form textarea {
  min-height: 52px;
  padding: 14px 16px;
  border: 1px solid #E6E6E6;
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  font-size: 15px;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.consultation-form .company-registered-option {
  display: inline-flex;
  min-height: 32px;
  width: max-content;
  align-items: center;
  gap: 8px;
  margin-top: 0;
  color: var(--slate);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
  cursor: pointer;
}

.consultation-form .consultation-choice-option input[type="radio"],
.consultation-form .company-registered-option input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 17px;
  height: 17px;
  min-height: 17px;
  margin: 0;
  padding: 0;
  border: 1px solid #7C8794;
  border-radius: 0;
  background: var(--paper);
  box-shadow: none;
  cursor: pointer;
}

.consultation-form .consultation-choice-option input[type="radio"]:checked,
.consultation-form .company-registered-option input[type="checkbox"]:checked {
  border-color: var(--heritage-blue);
  background: var(--heritage-blue);
  box-shadow: inset 0 0 0 3px var(--paper);
}

.consultation-form .consultation-choice-option input[type="radio"]:focus-visible,
.consultation-form .company-registered-option input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--heritage-blue);
  outline-offset: 2px;
}

.consultation-form input:focus,
.consultation-form select:focus,
.consultation-form textarea:focus {
  outline: none;
  border-color: var(--heritage-blue);
  box-shadow: 0 0 0 2px rgba(25, 96, 187, 0.12);
}

.consultation-form textarea {
  min-height: 104px;
  resize: vertical;
}

.consultation-form .required-mark {
  color: #C53030;
  font-size: 15px;
  line-height: 1;
}

.consultation-form .service-other-input,
.consultation-form .jurisdiction-other-input {
  margin-top: 2px;
}

.consultation-form .is-invalid {
  border-color: #C53030;
}

.consultation-form .consultation-choice-group.is-invalid {
  outline: 1px solid #C53030;
  outline-offset: 4px;
}

.consultation-form .field-error {
  color: #A61B1B;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

.consultation-form-actions {
  display: flex;
  align-items: center;
  gap: 20px;
  padding-top: 2px;
}

.consultation-submit {
  min-width: 180px;
  min-height: 52px;
  padding: 0 28px;
  border-radius: var(--button-radius);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  background: var(--accent-strong);
  border: 1px solid var(--accent-strong);
  color: var(--paper);
  justify-content: center;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.consultation-submit:hover {
  background: var(--paper);
  color: var(--accent-strong);
  transform: translateY(-1px);
}

.consultation-form-note {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.secondary-form-link {
  align-self: center;
  color: var(--primary-blue);
  font-weight: 700;
}

.site-footer {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.7fr);
  gap: clamp(40px, 5vw, 88px);
  padding: 72px var(--site-inline-gutter) 38px;
  color: rgba(255, 255, 255, 0.76);
  background: #084A91;
}

.home-footer {
  align-items: start;
  color: rgba(255, 255, 255, 0.78);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 38%),
    linear-gradient(118deg, rgba(8, 74, 145, 0.2), rgba(8, 74, 145, 0) 55%),
    #084A91;
}

.footer-brand-panel {
  display: grid;
  align-content: start;
  gap: 20px;
}

.footer-logo {
  display: block;
  width: 220px;
  height: 84px;
}

.footer-slogan {
  margin: -4px 0 2px;
  color: var(--paper);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0;
}

.footer-slogan:empty {
  display: none;
}

.footer-consult-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  min-height: 44px;
  padding: 10px 22px;
  color: var(--paper);
  background: var(--accent-strong);
  border: 1px solid var(--accent-strong);
  border-radius: var(--button-radius);
  font-weight: 700;
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.footer-consult-button:hover {
  color: var(--paper);
  background: #EB8F07;
  border-color: #EB8F07;
  transform: translateY(-2px);
}

.footer-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.footer-social {
  position: relative;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 50%;
  transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.footer-social:hover {
  color: var(--paper);
  background: rgba(8, 74, 145, 0.44);
  border-color: rgba(255, 255, 255, 0.62);
  transform: translateY(-2px);
}

.footer-qr-popover {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 12px);
  display: grid;
  gap: 8px;
  width: 150px;
  padding: 12px;
  color: var(--ink);
  background: var(--paper);
  border-radius: 6px;
  box-shadow: 0 22px 48px rgba(32, 45, 61, 0.28);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.footer-qr-popover::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -7px;
  width: 14px;
  height: 14px;
  background: var(--paper);
  transform: translateX(-50%) rotate(45deg);
}

.footer-qr-popover img {
  width: 126px;
  height: 126px;
}

.footer-qr-popover small {
  position: relative;
  z-index: 1;
  color: var(--muted);
  font-size: 12px;
  text-align: center;
}

.footer-social-wechat:hover .footer-qr-popover,
.footer-social-wechat:focus-visible .footer-qr-popover {
  opacity: 1;
  transform: translate(-50%, 0);
}

.footer-policy-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 18px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-policy-links a,
.footer-link-group a,
.footer-contact-strip a {
  transition: color 0.18s ease, opacity 0.18s ease;
}

.footer-policy-links a {
  color: rgba(255, 255, 255, 0.58);
  font-size: 13px;
}

.footer-policy-links a:hover,
.footer-link-group a:hover,
.footer-contact-strip a:hover {
  color: var(--paper);
}

.cookie-consent {
  position: fixed;
  right: clamp(16px, 2.5vw, 36px);
  bottom: clamp(16px, 2.5vw, 36px);
  left: clamp(16px, 2.5vw, 36px);
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 1180px;
  margin-inline: auto;
  padding: 20px 22px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid rgba(8, 74, 145, 0.18);
  box-shadow: 0 18px 48px rgba(32, 45, 61, 0.2);
}

.cookie-consent__copy {
  max-width: 680px;
}

.cookie-consent__copy strong {
  display: block;
  margin-bottom: 4px;
  color: var(--deep-blue);
  font-size: 18px;
}

.cookie-consent__copy p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.cookie-consent__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.cookie-consent__actions a {
  padding: 10px 4px;
  color: var(--deep-blue);
  font-size: 14px;
  font-weight: 700;
}

.cookie-consent__button {
  min-height: 42px;
  padding: 10px 18px;
  color: var(--paper);
  background: var(--deep-blue);
  border: 1px solid var(--deep-blue);
  border-radius: var(--button-radius);
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
}

.cookie-consent__button--secondary {
  color: var(--deep-blue);
  background: transparent;
}

.back-to-top {
  display: none;
}

@media (max-width: 767px) {
  .back-to-top {
    position: fixed;
    right: max(18px, calc(env(safe-area-inset-right) + 18px));
    bottom: max(20px, calc(env(safe-area-inset-bottom) + 20px));
    z-index: 1100;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    padding: 0;
    color: var(--paper);
    background: var(--deep-blue);
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: var(--button-radius);
    box-shadow: 0 12px 28px rgba(8, 74, 145, 0.24);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
    transition:
      opacity 0.2s ease,
      visibility 0.2s ease,
      transform 0.2s ease,
      background-color 0.2s ease;
  }

  .back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .back-to-top:hover {
    background: #0A559F;
  }

  .back-to-top:active {
    transform: translateY(1px);
  }

  .back-to-top:focus-visible {
    outline: 3px solid rgba(239, 115, 3, 0.9);
    outline-offset: 3px;
  }

  .back-to-top__icon {
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    transform: translateY(-1px);
  }

  body.has-cookie-consent .back-to-top {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
  }
}

@media (max-width: 760px) {
  .cookie-consent {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
    padding: 18px 16px;
  }

  .cookie-consent__actions {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.45fr) minmax(0, 0.9fr);
    align-items: stretch;
    justify-content: stretch;
    gap: 6px;
    width: 100%;
  }

  .cookie-consent__actions a,
  .cookie-consent__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    width: 100%;
    margin: 0;
    white-space: nowrap;
    font-size: clamp(11px, 3.3vw, 14px);
    line-height: 1.2;
    text-align: center;
  }

  .cookie-consent__actions a {
    padding-inline: 0;
    letter-spacing: -0.03em;
  }

  .cookie-consent__button {
    min-height: 44px;
    padding-inline: clamp(6px, 2vw, 12px);
  }
}

@media (max-width: 340px) {
  .cookie-consent {
    right: 8px;
    left: 8px;
    padding-inline: 12px;
  }

  .cookie-consent__actions {
    gap: 4px;
  }
}

.footer-filing-placeholder {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  line-height: 1.4;
}

.footer-filing-icon {
  position: relative;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 42%, #FFD15A 0 18%, transparent 19%),
    linear-gradient(145deg, #D8261C 0 46%, #255FA8 47% 100%);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.32);
}

.footer-filing-icon::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 4px;
  width: 6px;
  height: 8px;
  border-radius: 3px 3px 4px 4px;
  background: rgba(255, 255, 255, 0.9);
  clip-path: polygon(50% 0, 100% 18%, 86% 78%, 50% 100%, 14% 78%, 0 18%);
}

.footer-content-panel {
  display: grid;
  gap: 42px;
  min-width: 0;
  padding-left: clamp(0px, 4vw, 64px);
  border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.footer-link-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 64px);
}

.footer-link-group {
  display: grid;
  align-content: start;
  gap: 9px;
  min-width: 0;
}

.footer-link-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
  color: var(--paper);
  cursor: default;
  font-size: 16px;
  font-weight: 700;
  list-style: none;
}

.footer-link-group summary::-webkit-details-marker {
  display: none;
}

.footer-link-group summary::after {
  content: "";
  display: none;
  width: 8px;
  height: 8px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.18s ease;
}

.footer-link-group[open] summary::after {
  transform: rotate(225deg);
}

.footer-link-group a {
  display: block;
  width: fit-content;
  color: rgba(255, 255, 255, 0.66);
  font-size: 14px;
  line-height: 1.45;
}

.footer-contact-strip {
  display: grid;
  grid-template-columns: minmax(186px, 1.15fr) minmax(210px, 1.25fr) repeat(3, minmax(88px, 0.76fr));
  gap: clamp(18px, 2.2vw, 34px);
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.footer-contact-strip > * {
  display: grid;
  align-items: start;
  gap: 6px;
  min-height: 136px;
  padding: 0;
}

.footer-contact-strip span {
  color: rgba(255, 255, 255, 0.54);
  font-size: 13px;
}

.footer-contact-strip strong {
  color: var(--paper);
  font-size: 19px;
  line-height: 1.3;
  white-space: nowrap;
}

.footer-contact-strip img {
  width: 96px;
  height: 96px;
  padding: 5px;
  background: var(--paper);
  border-radius: 4px;
  object-fit: contain;
}

.footer-qr-item {
  align-content: start;
}

.footer-contact-strip a {
  width: fit-content;
}

.footer-contact-strip a:focus-visible,
.footer-link-group a:focus-visible,
.footer-policy-links a:focus-visible,
.footer-consult-button:focus-visible {
  outline: 2px solid var(--paper);
  outline-offset: 4px;
}

.footer-v2 {
  display: grid;
  grid-template-columns: minmax(250px, 0.88fr) minmax(0, 1.42fr);
  column-gap: clamp(40px, 8vw, 128px);
  row-gap: 44px;
  align-items: start;
  padding: 64px var(--site-inline-gutter) 30px;
  text-align: left;
  background:
    linear-gradient(118deg, rgba(255, 255, 255, 0.07), transparent 42%),
    var(--deep-blue);
  color: rgba(255, 255, 255, 0.82);
}

.footer-v2-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.footer-v2-brand .footer-logo {
  margin-bottom: 4px;
}

.footer-v2-brand .footer-slogan {
  font-weight: 400;
  font-size: 18px;
  color: var(--paper);
  margin: 0;
}

.footer-slogan-en {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.50);
  margin: 0;
  text-transform: uppercase;
}

.footer-v2-contact {
  display: grid;
  grid-template-columns: minmax(150px, 1.15fr) minmax(0, 1fr) minmax(88px, 0.72fr);
  gap: 16px clamp(16px, 2.4vw, 36px);
  min-width: 0;
  padding-left: clamp(28px, 4vw, 64px);
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.footer-v2-contact > a,
.footer-v2-contact > div {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 8px;
  color: rgba(255, 255, 255, 0.76);
}

.footer-v2-contact > a[href^="tel:"] {
  display: none;
}

.footer-v2-contact > a[href^="mailto:"] {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  align-content: start;
  justify-self: start;
  width: max-content;
  min-height: 0;
  padding-right: 0;
}

.footer-v2-contact > .footer-consult-button {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  justify-self: start;
  margin: 0;
  color: var(--paper);
}

.footer-v2-contact > .footer-consult-button:hover,
.footer-v2-contact > .footer-consult-button:focus-visible {
  color: var(--paper);
}

.footer-v2-contact > .footer-qr-item {
  grid-row: 1;
}

@media (min-width: 761px) {
  .footer-v2-contact > .footer-qr-item {
    grid-column: 3;
    justify-self: end;
  }
}

.footer-v2-contact > .footer-qr-item {
  justify-items: center;
  text-align: center;
}

.footer-v2-contact span {
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--paper);
}

.footer-v2-contact strong {
  font-size: 17px;
  font-weight: 400;
  color: var(--paper);
}

.footer-v2-contact img {
  width: 100%;
  max-width: 106px;
  aspect-ratio: 1;
  height: auto;
  padding: 5px;
  background: var(--paper);
  border-radius: 2px;
  object-fit: contain;
}

.footer-v2-bottom {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  width: 100%;
}

.footer-v2-bottom .footer-policy-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px 20px;
  margin: 0;
  padding: 0;
  border: 0;
}

.footer-v2-bottom .footer-policy-links a {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.50);
}

.footer-copyright {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.35);
  margin: 0;
  text-align: right;
}

.footer-v2 :where(a, p, span, strong, small, summary) {
  font-weight: 400;
}

.footer-v2 .footer-consult-button {
  font-weight: 700;
}

@media (max-width: 760px) {
  .footer-v2 {
    grid-template-columns: 1fr;
    row-gap: 32px;
    padding: 48px 24px 28px;
  }

  .footer-v2-brand {
    align-items: center;
    text-align: center;
  }

  .footer-v2-contact {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px clamp(24px, 10vw, 48px);
    padding-top: 28px;
    padding-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-left: 0;
  }

  .footer-v2-contact > a[href^="mailto:"] {
    grid-column: 1 / -1;
    justify-self: stretch;
    width: auto;
    justify-items: center;
    min-height: 0;
    padding-right: 0;
    order: 0;
  }

  .footer-v2-contact > .footer-consult-button {
    grid-column: 1 / -1;
    grid-row: auto;
    justify-self: center;
    margin: 0;
    order: 1;
  }

  .footer-v2-contact > div {
    grid-row: auto;
    justify-items: center;
    text-align: center;
    order: 2;
  }

  .footer-v2-contact > .footer-qr-item {
    grid-row: auto;
  }

  .footer-v2-contact img {
    max-width: 96px;
  }

  .footer-v2-bottom {
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center;
  }

  .footer-v2-bottom .footer-policy-links {
    justify-content: center;
  }

  .footer-copyright {
    text-align: center;
  }
}



/* Cross-page reduced-motion and responsive overrides. */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  #hero-title span {
    opacity: 1;
    transform: none;
  }

  .partner-carousel-track {
    transition: none;
  }
}

/* Inner pages now inherit the same short-desktop body zoom as the homepage.
   Keep only the legal Header's local height tuning here. */
@media (min-width: 900px) and (max-height: 960px) {
  .legal-policy-page .site-header {
    --mega-menu-header-gap: 16.9px;
    min-height: 86px;
  }

  .legal-policy-page .site-header.is-scrolled {
    min-height: 68px;
  }
}

@media (min-width: 1121px) and (max-width: 1279px) and (max-height: 960px) {
  body.home-page,
  body.detail-page {
    --site-inline-gutter: 35.555556px;
  }
}

@media (min-width: 900px) and (max-width: 1120px) and (max-height: 960px) {
  body.home-page,
  body.detail-page {
    --site-inline-gutter: clamp(26.666667px, 3.472222vw, 35.555556px);
  }
}

@media (max-width: 1120px) {
  :root {
    --site-inline-gutter: clamp(24px, 3.125vw, 32px);
  }

  .site-header {
    grid-template-columns: 160px auto auto;
    padding-inline: var(--site-inline-gutter);
  }

  .main-nav {
    gap: 14px;
    font-size: 13px;
  }

  .home-footer {
    grid-template-columns: 1fr;
  }

  .home-footer .footer-content-panel {
    padding-top: 34px;
    padding-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    border-left: 0;
  }

  .footer-link-groups {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .footer-contact-strip {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .footer-contact-strip > a {
    grid-column: span 3;
  }

  .footer-contact-strip > .footer-qr-item {
    grid-column: span 2;
  }

  .hero,
  .license-panel,
  .intro-grid,
  .news-band,
  .contact-section,
  .global-heading,
  .split-heading,
  .service-preview {
    grid-template-columns: 1fr;
  }

  .hero {
    padding-top: 132px;
  }

  .service-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .trust-metrics,
  .license-grid,
  .why-grid,
  .service-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services-grid-section {
    grid-template-columns: 1fr;
    row-gap: 44px;
  }

  .services-grid-section .section-heading {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
  }

  .services-grid-section .section-heading p:not(.eyebrow) {
    max-width: 620px;
    margin-inline: auto;
  }

  .solutions-stage {
    grid-template-columns: 1fr;
  }

  .solutions-intro {
    min-height: 0;
    max-width: 780px;
  }

  .solutions-intro p:not(.eyebrow) {
    max-width: 620px;
  }

  .solutions-workspace {
    grid-template-columns: minmax(150px, 0.26fr) minmax(0, 1fr);
  }

  .service-cards {
    gap: 30px;
    margin-inline: auto;
    max-width: 680px;
  }

  .credential-table > div,
  .route-line {
    grid-template-columns: 1fr;
  }

  .route-line i {
    width: 1px;
    height: 18px;
  }

  .credential-table small {
    text-align: left;
  }

  .service-row small {
    grid-column: 2;
  }

  .partner-logo-page {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 14px;
    padding: 22px;
  }

  .partner-carousel-button-prev {
    left: -46px;
  }

  .partner-carousel-button-next {
    right: -46px;
  }
}

@media (max-width: 1120px) {
  .site-header {
    grid-template-columns: minmax(0, 1fr) auto auto;
    column-gap: 10px;
  }

  .site-header:has(.main-nav.is-open) {
    z-index: 40;
    max-height: 100dvh;
    overflow-y: auto;
    background: rgba(8, 74, 145, 0.98);
    border-bottom-color: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(18px);
  }

  .menu-toggle {
    display: grid;
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    gap: 7px;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 4px;
    background: transparent;
    cursor: pointer;
  }

  .menu-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    margin: auto;
    background: var(--paper);
    transition: transform 0.18s ease;
  }

  .menu-toggle[aria-expanded="true"] span:first-child {
    transform: translateY(5px) rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] span:last-child {
    transform: translateY(-5px) rotate(-45deg);
  }

  .main-nav {
    display: none;
  }

  .header-actions {
    display: flex;
    grid-column: 2;
    grid-row: 1;
    gap: 0;
  }

  .header-actions .search-icon {
    display: none;
  }

  .header-actions .lang-icon {
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    border-color: rgba(255, 255, 255, 0.24);
    border-radius: 4px;
  }

  .header-actions .lang-label {
    display: inline-flex;
  }

  .header-actions .header-tooltip {
    display: none;
  }

  .main-nav.is-open {
    display: grid;
    grid-column: 1 / -1;
    justify-content: stretch;
    margin: 14px calc(-1 * var(--site-inline-gutter)) -14px;
    padding: 14px var(--site-inline-gutter) 24px;
    color: var(--heritage-blue);
    background: #FFFFFF;
    border-top: 1px solid rgba(8, 74, 145, 0.14);
  }

  .main-nav.is-open > a,
  .main-nav.is-open > .nav-item > a,
  .main-nav.is-open > .nav-item > .nav-menu-trigger {
    color: var(--heritage-blue);
    padding: 10px 0;
  }

  .main-nav.is-open > .mobile-nav-search {
    display: flex;
    align-items: center;
    color: var(--heritage-blue);
  }

  .nav-item {
    display: grid;
    min-height: 0;
  }

  .nav-item > a::after,
  .nav-item > .nav-menu-trigger::after {
    display: none;
  }

  .nav-item > a,
  .nav-item > .nav-menu-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .nav-item > a::before,
  .nav-item > .nav-menu-trigger::before {
    content: "+";
    order: 2;
    color: rgba(8, 74, 145, 0.68);
  }

  .nav-item.is-expanded > a::before,
  .nav-item.is-expanded > .nav-menu-trigger::before {
    content: "-";
  }

  .mega-menu {
    position: static;
    display: none;
    flex-direction: column;
    width: auto;
    min-width: 0;
    max-width: none;
    padding: 0;
    margin: 0 0 8px;
    background: transparent;
    border: 0;
    box-shadow: none;
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }

  .nav-item:hover > .mega-menu,
  .nav-item:focus-within > .mega-menu {
    display: none;
    transform: none;
  }

  .mega-menu::before {
    display: none;
  }

  .nav-item.is-expanded > .mega-menu {
    display: flex;
  }

  .mega-menu.wide {
    min-width: 0;
  }

  .mega-menu.has-nested,
  .mega-menu.wide.has-nested {
    width: auto;
    padding: 0;
    gap: 0;
    border-radius: 0;
  }

  .nav-item:not(.is-expanded) > .mega-menu {
    display: none;
  }

  .mega-menu-primary-links {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .mega-menu-parent-item {
    position: static;
  }

  .mega-menu-section-row {
    border-left: 1px solid rgba(8, 74, 145, 0.2);
  }

  .main-nav.is-open .mega-menu-submenu-trigger {
    display: inline-grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    padding: 0;
    place-items: center;
    color: var(--heritage-blue);
    background: transparent;
    border: 0;
    cursor: pointer;
  }

  .main-nav.is-open .mega-menu-submenu-trigger span {
    padding: 0;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
  }

  .main-nav.is-open .mega-menu-submenu-trigger:focus-visible {
    outline: 2px solid var(--primary-blue);
    outline-offset: -2px;
  }

  .mega-menu-secondary-panel {
    position: static;
    display: none;
    width: auto;
    min-width: 0;
    height: auto;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .mega-menu-parent-item.is-submenu-expanded > .mega-menu-secondary-panel {
    display: block;
    margin-left: 22px;
    border-left: 1px solid rgba(8, 74, 145, 0.16);
  }

  .mega-menu-secondary-panel::before {
    display: none;
  }

  .mega-menu-nested-links {
    height: auto;
    grid-template-columns: 1fr;
    gap: 0;
  }

  .mega-menu .mega-menu-section-link {
    min-height: 0;
    color: var(--heritage-blue);
  }

  .mega-menu .mega-menu-nested-link {
    min-height: 0;
    padding: 9px 12px 9px 20px;
    color: rgba(8, 74, 145, 0.76);
    font-size: 13px;
  }

  .mega-menu a {
    min-height: 0;
    padding: 10px 0 10px 22px;
    color: var(--heritage-blue);
    background: transparent;
    border-left: 1px solid rgba(8, 74, 145, 0.2);
  }

  .mega-menu-section-row .mega-menu-section-link {
    border-left: 0;
  }

  .mega-menu .mega-menu-parent-item.has-submenu > .mega-menu-section-row .mega-menu-section-link::after {
    display: none;
  }

  .mega-menu a::before {
    display: none;
  }

  .mega-menu a:hover {
    transform: none;
    color: var(--primary-blue);
    background: rgba(8, 74, 145, 0.05);
  }

  .mega-menu strong,
  .mega-menu span {
    color: inherit;
  }

  .hero {
    min-height: 100vh;
    min-height: 100dvh;
    padding: 112px var(--site-inline-gutter) 48px;
  }

  .hero-content {
    padding-top: 8px;
  }

  .hero--carousel {
    padding: 0;
  }

  .hero-carousel-copy {
    align-items: flex-start;
    padding: 148px var(--site-inline-gutter) 72px;
  }

  .hero-carousel-title {
    max-width: 520px;
    font-size: 36px;
    line-height: 1.2;
  }

  #hero-title {
    max-width: 720px;
    font-size: clamp(38px, 8vw, 54px);
    line-height: 1.18;
    letter-spacing: -0.04em;
  }

  .hero-copy {
    max-width: 620px;
  }

  .hero-video,
  .hero-static-image {
    filter: none;
  }

  .detail-hero-video {
    filter: saturate(0.96) contrast(1.05);
  }

  .section,
  .global-band,
  .news-band {
    padding: 72px 24px;
  }

  .why-ics + .services-grid-section,
  .clients + .services-grid-section {
    padding-top: 76px;
  }

  .services-grid-section {
    padding-bottom: 82px;
  }

  .services-grid-section .section-heading {
    margin: 0 auto;
  }

  .solutions-stage {
    padding: 72px 24px;
  }

  .solutions-workspace {
    grid-template-columns: 1fr;
  }

  .solution-tabs-list {
    display: flex;
    gap: 10px;
    min-height: 0;
    overflow-x: auto;
    padding-bottom: 6px;
    background: transparent;
    border: 0;
    border-radius: 0;
    backdrop-filter: none;
    scrollbar-width: thin;
  }

  .solution-tab {
    flex: 0 0 auto;
    min-height: 48px;
    height: auto;
    padding-inline: 14px;
    font-size: 18px;
    white-space: nowrap;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 6px;
  }

  .solution-tab.is-active {
    transform: none;
  }

  .solution-panel {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(192px, 54vw) auto auto minmax(36px, 1fr) auto auto;
    min-height: 0;
    --solution-panel-inset: 28px;
    padding: var(--solution-panel-inset);
  }

  .solution-panel-media {
    grid-column: 1;
    grid-row: 1;
    margin: calc(0px - var(--solution-panel-inset)) calc(0px - var(--solution-panel-inset)) 2px;
    border-radius: 11px 11px 0 0;
  }

  .solutions-actions {
    gap: 12px;
  }

  .solution-panel-heading {
    display: grid;
    align-items: start;
  }

  .solution-panel-summary {
    max-width: 100%;
  }

  .service-list,
  .service-cards,
  .trust-metrics,
  .license-grid,
  .why-grid,
  .insights-grid,
  .article-grid,
  .career-grid,
  .jurisdiction-grid,
  .contact-form {
    grid-template-columns: 1fr;
  }

  .service-card {
    min-height: 320px;
  }

  .service-cards {
    gap: 28px;
    margin-inline: auto;
    max-width: 330px;
  }

  .partner-logo-page {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 8px;
    padding: 12px;
  }

  .partner-logo-cell {
    padding: 8px;
  }



  .partner-carousel-controls {
    gap: 16px;
  }

  .partner-carousel-button {
    width: 52px;
    height: 52px;
  }

  .partner-carousel-button svg {
    width: 30px;
    height: 30px;
  }

  .partner-carousel-button-prev {
    left: -30px;
  }

  .partner-carousel-button-next {
    right: -30px;
  }

  .large-copy {
    font-size: 22px;
  }

  .service-row {
    grid-template-columns: 1fr;
  }

  .service-row::before {
    width: 3px;
  }

  .service-row small {
    grid-column: auto;
  }

  .preview-columns {
    grid-template-columns: 1fr;
  }

  .contact-section {
    padding-inline: 24px;
  }

  .consultation-form {
    padding: 26px 24px;
  }

  .consultation-form-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  .consultation-submit {
    width: 100%;
  }

  .consultation-form textarea {
    min-height: 104px;
  }

  .consultation-form-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .site-footer {
    grid-template-columns: 1fr;
  }

  .site-footer:not(.home-footer) nav {
    justify-content: flex-start;
  }

  .home-footer {
    gap: 34px;
    padding: 52px 24px 34px;
  }

  .footer-logo {
    width: 184px;
    height: 70px;
  }

  .footer-slogan {
    font-size: 20px;
  }

  .footer-link-groups,
  .footer-contact-strip {
    grid-template-columns: 1fr;
  }

  .footer-contact-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .footer-contact-strip > a {
    grid-column: 1 / -1;
  }

  .footer-contact-strip > .footer-qr-item {
    grid-column: auto;
  }

  .footer-contact-strip img {
    width: min(96px, 100%);
    height: auto;
    aspect-ratio: 1;
  }

  .footer-link-groups {
    gap: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
  }

  .footer-link-group {
    gap: 8px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }

  .footer-link-group summary {
    margin-bottom: 0;
    cursor: pointer;
  }

  .footer-link-group summary::after {
    display: block;
  }

  .footer-link-group a {
    margin-top: 2px;
  }

  .footer-contact-strip > * {
    min-height: 0;
  }

  .footer-qr-popover {
    left: 0;
    transform: translate(0, 8px);
  }

  .footer-social-wechat:hover .footer-qr-popover,
  .footer-social-wechat:focus-visible .footer-qr-popover {
    transform: translate(0, 0);
  }

  .detail-hero {
    padding: 104px var(--site-inline-gutter) 40px;
  }

  .detail-layout,
  .detail-content,
  .about-overview,
  .ecosystem-layout,
  .news-article {
    grid-template-columns: 1fr;
  }

  .ecosystem-layout {
    gap: 48px;
  }

  .ecosystem-orbit {
    grid-row: 1;
    justify-self: center;
  }

  .ecosystem-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }

  .ecosystem-column--left {
    grid-row: 2;
  }

  .ecosystem-column--right {
    grid-row: 3;
  }

  .news-article {
    width: 100%;
    padding: 124px 24px 72px;
  }

  .article-header,
  .article-attachments,
  .article-body {
    grid-column: 1 / -1;
  }

  .article-attachments {
    position: static;
    grid-row: auto;
  }

  .article-body table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .article-body .rich-media-grid--2 {
    grid-template-columns: 1fr;
  }

  .article-body .rich-block {
    padding: 22px 20px;
  }

  .about-vessel-image {
    min-height: 360px;
  }

  .detail-layout {
    padding: 56px 0 72px;
  }

  .detail-sidebar {
    position: static;
  }

  .detail-content-body {
    gap: 44px;
  }

  .detail-cover {
    position: static;
    order: -1;
    justify-self: start;
    width: min(100%, 360px);
  }

  .detail-cta {
    display: grid;
  }

  .news-index {
    padding: 56px 24px 72px;
  }

  .news-index-list article {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .news-index-more {
    justify-self: start;
  }
  .plain-page {
    padding: 124px 24px 72px;
  }

  .legal-page-section {
    padding-top: 128px;
    background: var(--paper);
  }

  .policy-grid {
    grid-template-columns: 1fr;
  }

  .policy-grid article {
    padding: 0;
    scroll-margin-top: 88px;
  }

  .policy-document h3 {
    margin-top: 30px;
  }

  .consultation-form textarea {
    min-height: 104px;
  }

  .timeline-section {
    padding: 72px 24px;
  }

  .timeline-section .split-heading {
    margin-bottom: 36px;
  }

}

@media (max-width: 900px) {
  .policy-index {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .policy-index a {
    white-space: normal;
  }
}

@media (max-width: 480px) {
  .site-header {
    column-gap: 8px;
  }

  .brand {
    width: 132px;
    height: 51px;
  }

}



/* Late homepage refinements retained after responsive and IR styles. */

/* The service carousel intentionally stays horizontal at every breakpoint. */
@media (max-width: 1200px) {
  .services-grid-section {
    grid-template-columns: 1fr;
    row-gap: 20px;
    padding-right: 0;
  }

  .services-grid-section .section-heading {
    max-width: min(720px, 84vw);
    margin-left: 0;
    text-align: left;
  }

  .services-grid-section .section-heading p:not(.eyebrow) {
    margin-inline: 0;
  }

  .service-carousel {
    padding-top: 12px;
  }

  .service-cards {
    display: flex;
    grid-template-columns: none;
    max-width: none;
    margin: 0;
  }

  .service-card {
    flex: 0 0 clamp(230px, 31vw, 320px);
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .service-cards {
    display: flex;
    grid-template-columns: none;
    max-width: none;
    margin: 0;
  }

  .service-card {
    flex-basis: calc(100vw - 48px);
    height: 410px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .service-cards,
  .service-card,
  .service-carousel-button {
    transition: none;
  }
}

/* --- 服务总览：左侧标题 + 蓝色服务卡 --- */
.services-grid-section {
  display: block;
  padding: clamp(64px, 6vw, 96px) var(--site-inline-gutter);
  background: var(--paper);
  overflow: visible;
}

.services-layout {
  display: grid;
  grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(40px, 5vw, 88px);
  width: 100%;
  max-width: none;
  margin: 0 auto;
}

.services-grid-section .section-heading {
  max-width: 420px;
  margin: 0;
  text-align: left;
}

.services-grid-section .section-heading h2 {
  max-width: none;
}

.services-grid-section .section-heading p:not(.eyebrow) {
  max-width: 390px;
  margin-inline: 0;
}

.services-panel-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.6vw, 24px);
}

.service-tile {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  min-height: 316px;
  padding: clamp(22px, 2vw, 30px);
  overflow: hidden;
  background: linear-gradient(145deg, #0B58A6 0%, var(--deep-blue) 72%);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 0;
  box-shadow: 0 14px 30px rgba(8, 74, 145, 0.14);
  transition: transform 0.42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.42s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.42s ease;
}

.service-tile::before {
  position: absolute;
  top: -34%;
  right: -24%;
  z-index: -1;
  width: 176px;
  height: 176px;
  content: "";
  background: radial-gradient(circle, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 69%);
  opacity: 0.72;
  transform: translate3d(0, 0, 0) scale(0.86);
  transition: transform 0.62s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.42s ease;
}

.service-tile > * {
  position: relative;
  z-index: 1;
}

.service-tile:hover,
.service-tile:focus-within {
  border-color: rgba(255, 255, 255, 0.42);
  box-shadow: 0 24px 48px rgba(8, 74, 145, 0.26);
  transform: translateY(-7px);
}

.service-tile:hover::before,
.service-tile:focus-within::before {
  opacity: 1;
  transform: translate3d(-16px, 18px, 0) scale(1.25);
}

.service-tile-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 22px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.74);
  border-radius: 0;
  box-shadow: 0 10px 20px rgba(3, 39, 80, 0.16);
  transform: translateZ(0);
  transition: transform 0.42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.42s ease;
}

.service-tile-icon img {
  display: block;
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.service-tile:hover .service-tile-icon,
.service-tile:focus-within .service-tile-icon {
  box-shadow: 0 14px 24px rgba(3, 39, 80, 0.24);
  transform: translate3d(0, -4px, 0) scale(1.04);
}

.service-tile h3 {
  margin: 0 0 12px;
  color: #FFFFFF;
  font-size: clamp(19px, 1.5vw, 22px);
  font-weight: 700;
  line-height: 1.3;
}

.service-tile > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  line-height: 1.7;
}

.service-tile-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 24px;
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}

.service-tile-link::after {
  content: "→";
  font-size: 17px;
  line-height: 1;
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
}

.service-tile-link:hover,
.service-tile-link:focus-visible {
  color: #FFC27A;
}

.service-tile-link:hover::after,
.service-tile-link:focus-visible::after {
  transform: translateX(4px);
}

.services-panel-grid.reveal .service-tile {
  opacity: 0;
  transform: translateY(20px);
}

.services-panel-grid.reveal.is-visible .service-tile {
  animation: service-tile-enter 0.58s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.services-panel-grid.reveal.is-visible .service-tile:nth-child(2) { animation-delay: 70ms; }
.services-panel-grid.reveal.is-visible .service-tile:nth-child(3) { animation-delay: 140ms; }
.services-panel-grid.reveal.is-visible .service-tile:nth-child(4) { animation-delay: 210ms; }
.services-panel-grid.reveal.is-visible .service-tile:nth-child(5) { animation-delay: 280ms; }
.services-panel-grid.reveal.is-visible .service-tile:nth-child(6) { animation-delay: 350ms; }

@keyframes service-tile-enter {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .services-panel-grid.reveal,
  .services-panel-grid.reveal .service-tile {
    opacity: 1;
    transform: none;
    transition: none;
    animation: none;
  }

  .service-tile::before,
  .service-tile-icon,
  .service-tile-link::after {
    transition: none;
  }
}

.services-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.62fr) minmax(340px, 0.88fr);
  align-items: start;
  gap: clamp(24px, 2.5vw, 38px);
}

.featured-services {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 18px;
}

.featured-service {
  min-width: 0;
  background: rgba(8, 74, 145, 0.05);
  border: 1px solid rgba(8, 74, 145, 0.14);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.featured-service:hover,
.featured-service:focus-within {
  border-color: rgba(8, 74, 145, 0.48);
  box-shadow: 0 18px 42px rgba(8, 74, 145, 0.1);
  transform: translateY(-3px);
}

.featured-service-media {
  display: block;
  aspect-ratio: 16 / 10;
  background: var(--sky);
  overflow: hidden;
}

.featured-service--listing .featured-service-media {
  aspect-ratio: 4 / 3;
}

.featured-service-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.76) contrast(1.04);
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), filter 0.3s ease;
}

.featured-service--listing .featured-service-media img {
  object-position: center 37%;
}

.featured-service:hover .featured-service-media img,
.featured-service:focus-within .featured-service-media img {
  filter: saturate(0.92) contrast(1.04);
  transform: scale(1.025);
}

.featured-service-body {
  display: flex;
  flex-direction: column;
  min-height: 342px;
  padding: clamp(22px, 2.2vw, 30px);
}

.featured-service-body h3,
.service-directory-content h3 {
  margin: 0;
  color: var(--heading-ink);
  font-weight: 650;
  letter-spacing: -0.02em;
}

.featured-service-body h3 {
  font-size: clamp(23px, 2vw, 30px);
  line-height: 1.24;
}

.service-facts {
  margin-top: 22px;
}

.service-facts > div {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid rgba(8, 74, 145, 0.14);
}

.service-facts span {
  color: var(--primary-blue);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.65;
}

.service-facts p {
  margin: 0;
  color: var(--slate);
  font-size: 13px;
  line-height: 1.65;
}

.service-detail-link {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 9px;
  margin-top: auto;
  padding-top: 18px;
  color: var(--deep-blue);
  font-size: 13px;
  font-weight: 700;
}

.service-detail-link span {
  color: var(--accent);
  font-size: 17px;
  transition: transform 0.2s ease;
}

.service-detail-link:hover span,
.service-detail-link:focus-visible span {
  transform: translateX(4px);
}

.service-directory {
  padding: 4px clamp(22px, 2.2vw, 30px);
  background: var(--mist);
  border: 1px solid rgba(8, 74, 145, 0.14);
  border-radius: 14px;
}

.service-directory-item {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: start;
  gap: 18px;
  padding: 24px 0;
}

.service-directory-item + .service-directory-item {
  border-top: 1px solid rgba(8, 74, 145, 0.14);
}

.service-directory-icon {
  width: 54px;
  height: 54px;
  padding: 5px;
  object-fit: contain;
}

.service-directory-content h3 {
  font-size: 18px;
  line-height: 1.4;
}

.service-facts--compact {
  margin-top: 10px;
}

.service-facts--compact > div {
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 10px;
  padding: 9px 0 0;
  border-top: 0;
}

.service-facts--compact p {
  font-size: 12px;
  line-height: 1.55;
}

.service-directory-item > .service-detail-link {
  align-self: end;
  padding-top: 0;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .services-showcase {
    grid-template-columns: 1fr;
  }

  .service-directory {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 30px;
  }

  .service-directory-item:nth-child(2) {
    border-top: 0;
  }
}

@media (max-width: 767px) {
  .home-page .hero {
    align-items: flex-end;
  }

  .hero-static-image {
    object-position: center;
  }

  .services-grid-section {
    padding: 56px 24px 64px;
  }

  .services-grid-section .section-heading {
    margin-bottom: 28px;
  }

  .featured-services,
  .service-directory {
    grid-template-columns: 1fr;
  }

  .featured-service-body {
    min-height: 0;
  }

  .featured-service--listing .featured-service-media,
  .featured-service-media {
    aspect-ratio: 16 / 10;
  }

  .service-directory-item:nth-child(2) {
    border-top: 1px solid rgba(8, 74, 145, 0.14);
  }
}

@media (max-width: 520px) {
  .service-directory-item {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
  }

  .service-directory-icon {
    width: 46px;
    height: 46px;
  }

  .service-directory-item > .service-detail-link {
    grid-column: 2;
    margin-top: 12px;
  }

  .service-facts > div {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .service-facts--compact > div {
    grid-template-columns: 64px minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .service-tile,
  .service-detail-link span {
    transition: none;
  }

  .service-tile:hover,
  .service-tile:focus-within,
  .service-detail-link:hover span,
  .service-detail-link:focus-visible span {
    transform: none;
  }
}

/* Services: heading left, blue cards right; stacks on smaller screens. */
@media (max-width: 1200px) {
  .services-layout {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .services-grid-section .section-heading {
    max-width: 640px;
  }

  .services-grid-section .section-heading p:not(.eyebrow) {
    max-width: 620px;
  }
}

@media (max-width: 920px) {
  .services-panel-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .services-grid-section .section-heading {
    margin-bottom: 0;
  }

  .services-panel-grid {
    grid-template-columns: 1fr;
  }

  .service-tile {
    min-height: 0;
  }
}

/* Services explain the offer first; Why ICS follows as a quieter proof layer. */
.home-page .services-grid-section + .why-ics {
  padding-top: clamp(64px, 5vw, 80px);
  background: rgba(8, 74, 145, 0.05);
}

.home-page .solutions-tabs {
  background: #f0f4f8;
}

.home-page .solutions-tabs::before {
  content: none;
}

@media (max-width: 767px) {
  .home-page .services-grid-section + .why-ics {
    padding-top: 64px;
  }
}

/* Site-wide surface rule: cards and image media use sharp corners. */
img,
:where(
  .article-state,
  .career-grid article,
  .contact-form,
  .featured-service,
  .insight-card,
  .ir-contact-card,
  .ir-governance-card,
  .ir-notice-card,
  .license-card,
  .license-panel,
  .partner-carousel-viewport,
  .search-panel,
  .search-suggestions-card,
  .service-card,
  .service-directory,
  .solution-card,
  .solution-panel,
  .solutions-workspace,
  .trust-card,
  .why-card
) {
  border-radius: 0 !important;
}


/* Also owns the homepage Services tabs, icons and responsive content panels. */

/* Service detail layouts for all service categories and language variants. */

/* Service scope redesign: PPT-reference layouts and brand palette. */
.service-scope-page { background: #FFFFFF; }
.service-scope-layout.detail-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  width: var(--site-container-width);
  max-width: var(--site-content-width);
  margin: 0 auto;
  padding: 72px 0 88px;
}
.service-scope-content.detail-content { display: block; min-width: 0; }
.service-scope-content { container-type: inline-size; }
.scope-title-block { margin: 0 0 clamp(28px, 2.8vw, 44px); }
.scope-title-row { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.scope-title-block h1 { min-width: 0; margin: 0; color: var(--heading-ink); font-size: clamp(32px, 3vw, 50px); font-weight: 700; letter-spacing: -0.055em; line-height: 1.12; }
.scope-consult-button { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 0; min-height: 48px; padding: 10px 18px; color: #084A91; background: #FFFFFF; border: 2px solid #084A91; border-radius: var(--button-radius); font-size: 22px; font-weight: 700; letter-spacing: -0.04em; line-height: 1; text-decoration: none; transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease; }
.scope-consult-button:hover, .scope-consult-button:focus-visible { color: #FFFFFF; background: #084A91; transform: translateY(-2px); }
.scope-consult-button:active { transform: translateY(0); }
.scope-title-block p { max-width: 1080px; margin: 14px 0 0; color: var(--heading-accent); font-size: clamp(16px, 1.15vw, 20px); font-weight: 400; letter-spacing: -0.025em; line-height: 1.45; }
.scope-title-block--secretary p { max-width: none; font-size: clamp(15px, 1.05vw, 18px); letter-spacing: -0.04em; white-space: nowrap; }
.scope-icon { display: block; width: 100%; height: 100%; object-fit: contain; }
.scope-pill-rows, .scope-bullet-rows { display: grid; gap: 14px; padding: 0; margin: 0; list-style: none; }
.scope-pill-rows li { position: relative; min-width: 0; padding: 12px 22px 12px 48px; color: #084A91; background: #FFFFFF; border-radius: 999px; font-size: clamp(15px, 1.25vw, 20px); font-weight: 700; line-height: 1.42; }
.scope-pill-rows li::before, .scope-bullet-rows li::before { content: "•"; position: absolute; left: 22px; color: #084A91; font-weight: 700; }
.scope-bullet-rows li { position: relative; padding-left: 26px; color: #202D3D; font-size: 16px; line-height: 1.55; }
.scope-bullet-rows li::before { left: 1px; }

.scope-formation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.formation-column { display: flex; flex-direction: column; min-height: 550px; padding: clamp(22px, 2vw, 32px) clamp(16px, 1.7vw, 26px) 24px; background: #E9F1F8; border-radius: 18px; }
.formation-column:nth-child(2) { background: #E4EEF8; }
.formation-column.is-soft { background: #EEF4FB; }
.formation-icon { display: grid; place-items: center; width: clamp(100px, 8vw, 148px); aspect-ratio: 1; margin: 0 auto 18px; padding: 21px; background: #FFFFFF; border-radius: 50%; }
.formation-column h2 { margin: 0 auto 28px; padding: 9px 22px; width: min(100%, 300px); color: #FFFFFF; background: #3471AD; border-radius: 999px; font-size: clamp(18px, 1.45vw, 24px); font-weight: 700; line-height: 1.25; text-align: center; }
.formation-column:nth-child(2) h2 { background: #1960BB; }
.formation-column.is-soft h2 { background: #6AADD3; }
.formation-column .scope-pill-rows { gap: 12px; }
.formation-column .scope-pill-rows li { min-height: 48px; padding-block: 11px; color: #202D3D; font-size: clamp(14px, 1.05vw, 17px); font-weight: 500; }
.formation-column .scope-pill-rows strong { color: #084A91; font-weight: 700; }

.scope-outbound-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); align-items: start; gap: clamp(24px, 3vw, 44px); }
.outbound-path { color: #FFFFFF; background: #084A91; border: 1px solid #084A91; }
.outbound-path.is-secondary { margin-top: 52px; color: #202D3D; background: #F2F6FA; border-color: #CAD8E6; }
.outbound-path-heading { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: center; gap: 22px; min-height: 178px; padding: 30px clamp(26px, 3vw, 42px); border-bottom: 1px solid rgba(255, 255, 255, 0.24); }
.outbound-path.is-secondary .outbound-path-heading { border-bottom-color: #CAD8E6; }
.outbound-path-icon { display: grid; place-items: center; width: 72px; aspect-ratio: 1; padding: 13px; background: #FFFFFF; border: 1px solid rgba(8, 74, 145, 0.14); }
.outbound-path-heading h2 { margin: 0; color: inherit; font-size: clamp(23px, 2vw, 32px); font-weight: 700; letter-spacing: -0.035em; line-height: 1.22; }
.outbound-path-heading p { max-width: 38ch; margin: 10px 0 0; color: rgba(255, 255, 255, 0.78); font-size: clamp(14px, 1.05vw, 17px); line-height: 1.55; }
.outbound-path.is-secondary .outbound-path-heading p { color: #58697B; }
.outbound-path-services { padding: 0 clamp(26px, 3vw, 42px) 8px; margin: 0; list-style: none; }
.outbound-path-services li { display: grid; grid-template-columns: minmax(84px, 0.32fr) minmax(0, 1fr); align-items: baseline; gap: 20px; padding: 23px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
.outbound-path-services li:last-child { border-bottom: 0; }
.outbound-path.is-secondary .outbound-path-services li { border-bottom-color: #CAD8E6; }
.outbound-path-services span { color: #A9CAE8; font-size: 13px; font-weight: 700; letter-spacing: 0.03em; line-height: 1.4; }
.outbound-path.is-secondary .outbound-path-services span { color: #4A7199; }
.outbound-path-services strong { color: inherit; font-size: clamp(16px, 1.22vw, 19px); font-weight: 700; line-height: 1.5; }

.scope-fund-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.scope-feature-panel { display: grid; grid-template-columns: 1fr; align-content: start; min-height: 260px; gap: 14px; padding: 22px; background: #E9F1F8; border-radius: 16px; }
.scope-feature-icon { display: grid; place-items: center; width: 88px; aspect-ratio: 1; margin: 0; padding: 17px; background: #FFFFFF; border-radius: 50%; }
.scope-feature-panel h2 { margin: 0 0 10px; color: var(--heading-ink); font-size: clamp(19px, 1.55vw, 24px); font-weight: 700; line-height: 1.2; text-align: left; }
.scope-feature-panel .scope-bullet-rows { gap: 7px; }
.scope-feature-panel .scope-bullet-rows li { font-size: 20px; line-height: 1.5; }
.scope-feature-panel.is-accent .scope-bullet-rows li::before { color: #084A91; }

.scope-accounting-layout { display: grid; grid-template-columns: minmax(380px, 1.04fr) minmax(480px, 0.96fr); gap: clamp(42px, 5vw, 110px); align-items: stretch; }
.accounting-orbit { position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 70px; min-height: 548px; }
.accounting-orbit::before { content: ""; position: absolute; z-index: 2; top: 50%; left: 50%; width: clamp(200px, 45%, 315px); aspect-ratio: 1; background: #FFFFFF; border-radius: 50%; transform: translate(-50%, -50%); }
.accounting-value { position: relative; z-index: 1; min-height: 252px; padding: 32px; overflow: hidden; background: #F1F6FB; border-radius: 34px; }
.accounting-value .scope-icon { position: absolute; width: 68px; height: 68px; }
.accounting-value p { position: absolute; width: calc(56% - 16px); margin: 0; color: #3471AD; font-size: clamp(15px, 1.18vw, 19px); font-weight: 700; line-height: 1.42; }
.accounting-value:nth-child(1) .scope-icon { top: 32px; right: 32px; }
.accounting-value:nth-child(1) p { top: 32px; left: 32px; }
.accounting-value:nth-child(2) .scope-icon { top: 32px; left: 32px; }
.accounting-value:nth-child(2) p { top: 32px; right: 32px; }
.accounting-value:nth-child(3) .scope-icon { right: 32px; bottom: 32px; }
.accounting-value:nth-child(3) p { bottom: 32px; left: 32px; }
.accounting-value:nth-child(4) .scope-icon { bottom: 32px; left: 32px; }
.accounting-value:nth-child(4) p { right: 32px; bottom: 32px; }
.accounting-core { position: absolute; z-index: 3; inset: 50% auto auto 50%; display: grid; place-content: center; justify-items: center; width: clamp(180px, 40%, 290px); min-height: 0; aspect-ratio: 1; padding: 16px; color: #FFFFFF; background: #3471AD; border: 0; border-radius: 50%; text-align: center; transform: translate(-50%, -50%); }
.accounting-core .scope-icon { width: 34%; min-width: 62px; max-width: 98px; height: auto; filter: brightness(0) invert(1); }
.accounting-core strong { margin-top: 8px; font-size: clamp(21px, 2vw, 32px); font-weight: 700; line-height: 1.1; white-space: nowrap; }
.accounting-core span { margin-top: 4px; font-size: clamp(14px, 1.2vw, 18px); font-weight: 700; line-height: 1.2; white-space: nowrap; }
.accounting-paper { min-height: 0; padding: clamp(24px, 2.6vw, 40px); background: #F5F9FC; border: 2px solid #3471AD; box-shadow: 10px 10px 0 #E5EFF8, -6px -6px 0 #F8FBFE; }
.accounting-paper-head { display: flex; align-items: center; gap: 20px; margin-bottom: 24px; }
.accounting-paper-head .scope-icon { width: 64px; height: 64px; }
.accounting-paper h2 { margin: 0; color: var(--heading-ink); font-size: clamp(24px, 2.2vw, 38px); font-weight: 700; }
.accounting-one-stop { display: grid; grid-template-columns: 132px minmax(0, 1fr) minmax(180px, 1fr); align-items: center; gap: 22px; margin-top: 38px; padding-top: 28px; border-top: 2px solid #3471AD; }
.accounting-one-stop > div { display: grid; place-items: center; width: 132px; aspect-ratio: 1; color: #3471AD; border: 4px solid #D5E4F3; border-radius: 50%; font-size: 22px; font-weight: 700; line-height: 1.3; text-align: center; }
.accounting-one-stop ul { display: grid; gap: 10px; padding: 0; margin: 0; list-style: none; }
.accounting-one-stop li { padding: 8px 14px; color: #FFFFFF; background: #3471AD; border-radius: 999px; font-size: 15px; font-weight: 700; text-align: center; }
.accounting-one-stop li:nth-child(2) { background: #1960BB; }.accounting-one-stop li:nth-child(3) { background: #084A91; }
.accounting-one-stop strong { color: #084A91; font-size: clamp(18px, 1.7vw, 27px); font-weight: 700; line-height: 1.28; }

.secretary-why { display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: center; gap: 32px; padding: 28px 48px; background: #E9F1F8; border-radius: 16px; }
.secretary-why > div:first-child { display: grid; place-items: center; padding: 22px; }
.secretary-why h2, .secretary-duties h2 { margin: 0 0 12px; color: var(--heading-ink); font-size: clamp(23px, 2.1vw, 32px); font-weight: 700; }
.secretary-why li { color: #44546A; font-size: clamp(15px, 1.3vw, 20px); line-height: 1.5; }.secretary-why li::before, .secretary-why strong { color: #3471AD; }
.secretary-duties { display: grid; grid-template-columns: 236px minmax(0, 1fr); margin-top: 14px; overflow: hidden; border: 2px solid #44546A; border-radius: 34px; box-shadow: 5px 6px 10px rgba(8, 74, 145, 0.22); }
.secretary-duties-label { display: grid; place-items: center; min-height: 350px; padding: 20px; color: #FFFFFF; background: linear-gradient(145deg, #084A91, #3471AD 68%, #EB8F07); font-size: clamp(26px, 2.35vw, 38px); font-weight: 700; line-height: 1.45; text-align: center; }
.secretary-duties-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 48px; padding: 18px 40px; }.secretary-duties-grid .scope-bullet-rows { gap: 3px; }.secretary-duties-grid .scope-bullet-rows li { font-size: 15px; line-height: 1.38; }

.scope-cayman-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; padding: 0; margin: 0; list-style: none; }
.scope-cayman-steps li { display: grid; place-content: center; justify-items: center; min-height: 264px; padding: 34px 30px; color: #3471AD; background: #EEF5FA; border: 3px solid #3471AD; border-radius: 0; text-align: center; }
.scope-cayman-steps span { display: grid; place-items: center; width: 94px; aspect-ratio: 1; margin-bottom: 32px; color: #FFFFFF; background: #3471AD; border-radius: 50%; font-size: 28px; font-weight: 700; }.scope-cayman-steps strong { font-size: clamp(20px, 1.7vw, 28px); font-weight: 700; line-height: 1.4; }
.scope-generic { display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: center; gap: 38px; padding: 38px; background: #E9F1F8; border-radius: 18px; }.scope-generic > div { display: grid; justify-items: center; gap: 20px; }.scope-generic .scope-icon { width: 116px; height: 116px; }.scope-generic h2 { margin: 0; color: var(--heading-ink); font-size: 26px; text-align: center; }

/* English copy needs a little more room while retaining the Chinese layouts. */
.service-scope-content.is-english .formation-column h2 { font-size: clamp(17px, 1.3vw, 21px); }
.service-scope-content.is-english .outbound-path-heading { min-height: 205px; }
.service-scope-content.is-english .outbound-path-heading h2 { font-size: clamp(21px, 1.8vw, 28px); }
.service-scope-content.is-english .outbound-path-services li { grid-template-columns: minmax(116px, 0.36fr) minmax(0, 1fr); gap: 18px; }
.service-scope-content.is-english .accounting-value:nth-child(4) { min-height: 276px; }
.service-scope-content.is-english .accounting-value:nth-child(4) p { width: calc(100% - 32px); padding-left: 72px; box-sizing: border-box; font-size: clamp(13px, 1.08vw, 17px); line-height: 1.36; }
.service-scope-content.is-english .accounting-core strong { font-size: clamp(18px, 1.7vw, 27px); }
.service-scope-content.is-english .accounting-core span { font-size: clamp(12px, 1vw, 15px); white-space: normal; }
.service-scope-content.is-english .secretary-duties-label { font-size: clamp(22px, 2vw, 32px); }

@media (max-width: 1180px) { .formation-column { min-height: 590px; }.scope-fund-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.scope-feature-panel { grid-template-columns: 132px minmax(0, 1fr); gap: 22px; }.scope-feature-icon { width: 122px; padding: 22px; }.scope-feature-panel h2 { text-align: left; }.scope-accounting-layout { grid-template-columns: 1fr; }.accounting-paper { max-width: 780px; }.secretary-duties-grid { gap: 8px 30px; padding-inline: 30px; } }
@media (max-width: 960px) { .scope-title-block { margin-bottom: 34px; }.scope-title-block--secretary p { white-space: normal; }.scope-formation-grid, .scope-fund-grid, .scope-outbound-grid { grid-template-columns: 1fr; }.formation-column { min-height: 0; }.outbound-path.is-secondary { margin-top: 0; }.scope-feature-panel { min-height: 0; }.secretary-why { grid-template-columns: 120px minmax(0, 1fr); padding: 28px; gap: 22px; }.secretary-duties { grid-template-columns: 1fr; border-radius: 24px; }.secretary-duties-label { min-height: 0; padding: 24px; line-height: 1.3; }.scope-cayman-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; } }
@media (max-width: 900px) { .service-scope-layout.detail-layout { grid-template-columns: 1fr; gap: 0; padding: 64px 0 74px; } }
@media (max-width: 640px) { .scope-title-row { align-items: flex-start; gap: 16px; }.scope-title-block h1 { font-size: 34px; }.scope-consult-button { min-width: 116px; min-height: 46px; padding: 10px 16px; font-size: 17px; }.scope-title-block p { margin-top: 12px; font-size: 15px; }.formation-column { padding: 24px 16px; border-radius: 14px; }.formation-column h2 { margin-bottom: 26px; }.outbound-path-heading, .service-scope-content.is-english .outbound-path-heading { grid-template-columns: 58px minmax(0, 1fr); min-height: 0; gap: 16px; padding: 24px 20px; }.outbound-path-icon { width: 58px; padding: 10px; }.outbound-path-heading h2 { font-size: 22px; }.outbound-path-heading p { font-size: 14px; }.outbound-path-services { padding-inline: 20px; }.outbound-path-services li, .service-scope-content.is-english .outbound-path-services li { grid-template-columns: 1fr; gap: 6px; padding: 19px 0; }.outbound-path-services strong { font-size: 16px; }.scope-feature-panel { grid-template-columns: 92px minmax(0, 1fr); padding: 18px; gap: 16px; border-radius: 14px; }.scope-feature-icon { width: 92px; padding: 16px; }.scope-feature-panel h2 { font-size: 22px; }.scope-feature-panel .scope-bullet-rows li { font-size: 15px; }.accounting-orbit { grid-template-columns: 1fr; gap: 16px; padding-bottom: 190px; }.accounting-value { min-height: 0; grid-template-columns: 58px minmax(0, 1fr); padding: 18px; border-radius: 20px; }.accounting-value .scope-icon { width: 52px; height: 52px; }.accounting-core { inset: auto 50% 16px; width: 176px; border-width: 12px; transform: translateX(-50%); }.accounting-core .scope-icon { width: 52px; height: 52px; }.accounting-paper { min-height: 0; padding: 22px; box-shadow: 6px 6px 0 #E5EFF8, -4px -4px 0 #F8FBFE; }.accounting-paper-head { gap: 12px; }.accounting-paper-head .scope-icon { width: 48px; height: 48px; }.accounting-one-stop { grid-template-columns: 1fr; justify-items: center; }.accounting-one-stop ul { width: 100%; }.accounting-one-stop strong { text-align: center; }.secretary-why { grid-template-columns: 1fr; padding: 22px; }.secretary-why > div:first-child { width: 96px; padding: 0; }.secretary-duties-grid { grid-template-columns: 1fr; padding: 28px 24px; }.scope-cayman-steps { grid-template-columns: 1fr; gap: 18px; }.scope-cayman-steps li { min-height: 210px; }.scope-cayman-steps span { width: 74px; margin-bottom: 20px; font-size: 23px; }.scope-generic { grid-template-columns: 1fr; padding: 24px; } }

@media (max-width: 640px) { .service-scope-content.is-english .secretary-duties-label { font-size: 28px; } }

@media (max-width: 760px) {
  .accounting-orbit { grid-template-columns: 1fr; min-height: 0; gap: 16px; padding-bottom: 200px; transform: none; }
  .accounting-orbit::before { display: none; }
  .accounting-value,
  .accounting-value:nth-child(n) { display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: center; min-height: 0; gap: 16px; padding: 18px; clip-path: none; border-radius: 20px; }
  .accounting-value .scope-icon,
  .accounting-value:nth-child(n) .scope-icon { position: static; width: 52px; height: 52px; }
  .accounting-value p,
  .accounting-value:nth-child(n) p { position: static; width: auto; }
  .accounting-core { inset: auto 50% 16px; width: 176px; border: 12px solid #FFFFFF; transform: translateX(-50%); }
  .accounting-core .scope-icon { width: 52px; height: 52px; }
}

/* Keep the scope artwork in proportion after the desktop content canvas narrows. */
@container (min-width: 761px) and (max-width: 1100px) {
  .scope-title-block { margin-bottom: 34px; }
  .scope-title-row { gap: 22px; }
  .scope-title-block h1 { font-size: clamp(30px, 3.1cqw, 44px); }
  .scope-consult-button { min-height: 44px; padding: 9px 16px; font-size: 19px; }
  .scope-title-block p { max-width: 900px; margin-top: 12px; font-size: clamp(15px, 1.2cqw, 18px); }

  .scope-formation-grid,
  .scope-fund-grid,
  .scope-cayman-steps { gap: 28px; }
  .formation-column { min-height: 480px; padding: clamp(20px, 2.1cqw, 26px) clamp(15px, 1.8cqw, 22px) 22px; }
  .formation-icon { width: clamp(88px, 8cqw, 120px); margin-bottom: 17px; padding: 17px; }
  .formation-column h2 { width: min(100%, 260px); margin-bottom: 25px; padding: 8px 18px; font-size: clamp(17px, 1.45cqw, 21px); }
  .scope-pill-rows { gap: 13px; }
  .scope-pill-rows li { padding: 11px 18px 11px 40px; font-size: clamp(14px, 1.25cqw, 17px); }
  .scope-pill-rows li::before { left: 18px; }
  .formation-column .scope-pill-rows li { min-height: 48px; padding-block: 11px; font-size: clamp(15px, 1.25cqw, 17px); }

  .scope-outbound-grid { gap: clamp(22px, 3cqw, 34px); }
  .outbound-path.is-secondary { margin-top: 42px; }
  .outbound-path-heading { grid-template-columns: 64px minmax(0, 1fr); min-height: 168px; gap: 18px; padding: 26px clamp(22px, 3cqw, 34px); }
  .outbound-path-icon { width: 64px; padding: 12px; }
  .outbound-path-heading h2 { font-size: clamp(21px, 2.1cqw, 28px); }
  .outbound-path-heading p { font-size: clamp(13px, 1.2cqw, 16px); }
  .outbound-path-services { padding-inline: clamp(22px, 3cqw, 34px); }
  .outbound-path-services li { grid-template-columns: minmax(76px, 0.32fr) minmax(0, 1fr); gap: 16px; padding: 20px 0; }
  .outbound-path-services strong { font-size: clamp(15px, 1.4cqw, 18px); }

  .scope-feature-panel { min-height: 300px; padding: 18px; }
  .scope-feature-icon { width: 72px; padding: 14px; }
  .scope-feature-panel h2 { font-size: clamp(17px, 1.55cqw, 21px); }
  .scope-feature-panel .scope-bullet-rows li { font-size: 15px; }

  .scope-accounting-layout { grid-template-columns: minmax(330px, 1fr) minmax(420px, 1fr); gap: clamp(32px, 4cqw, 64px); }
  .accounting-orbit { gap: 32px 50px; min-height: 448px; }
  .accounting-value { min-height: 208px; padding: 26px; }
  .service-scope-content.is-english .accounting-value { min-height: 276px; }
  .accounting-value .scope-icon { width: 56px; height: 56px; }
  .accounting-value:nth-child(n) .scope-icon { top: 26px; right: 26px; bottom: auto; left: auto; }
  .accounting-value:nth-child(2) .scope-icon, .accounting-value:nth-child(4) .scope-icon { right: auto; left: 26px; }
  .accounting-value:nth-child(3) .scope-icon, .accounting-value:nth-child(4) .scope-icon { top: auto; bottom: 26px; }
  .accounting-value p { font-size: clamp(13px, 1.18cqw, 16px); }
  .service-scope-content.is-english .accounting-value p { font-size: clamp(12px, 0.98cqw, 15px); line-height: 1.38; }
  .service-scope-content.is-english .accounting-value:nth-child(4) .scope-icon { top: auto; right: auto; bottom: 26px; left: 26px; }
  .service-scope-content.is-english .accounting-value:nth-child(4) p { right: 26px; bottom: 26px; left: auto; width: calc(100% - 32px); padding-left: 80px; box-sizing: border-box; font-size: clamp(12px, 0.98cqw, 15px); line-height: 1.38; }
  .accounting-core { width: clamp(160px, 40%, 230px); padding: 13px; }
  .accounting-core strong { font-size: clamp(18px, 2cqw, 27px); }
  .accounting-core span { font-size: clamp(12px, 1.2cqw, 15px); }
  .accounting-paper { padding: clamp(20px, 2.6cqw, 30px); box-shadow: 7px 7px 0 #E5EFF8, -4px -4px 0 #F8FBFE; }
  .accounting-paper-head { gap: 16px; margin-bottom: 18px; }
  .accounting-paper-head .scope-icon { width: 52px; height: 52px; }
  .accounting-paper h2 { font-size: clamp(21px, 2.2cqw, 31px); }
  .accounting-one-stop { grid-template-columns: 108px minmax(0, 1fr) minmax(150px, 1fr); gap: 18px; margin-top: 28px; padding-top: 22px; }
  .accounting-one-stop > div { width: 108px; font-size: 18px; }
  .accounting-one-stop li { padding: 7px 11px; font-size: 13px; }
  .accounting-one-stop strong { font-size: clamp(16px, 1.7cqw, 22px); }

  .secretary-why { grid-template-columns: 144px minmax(0, 1fr); gap: 28px; padding: 28px 38px; }
  .secretary-why > div:first-child { padding: 18px; }
  .secretary-why h2, .secretary-duties h2 { font-size: clamp(20px, 2.1cqw, 27px); }
  .secretary-why ul { display: grid; gap: 10px; }
  .secretary-why li { font-size: clamp(14px, 1.3cqw, 17px); }
  .secretary-duties { grid-template-columns: 190px minmax(0, 1fr); border-radius: 26px; }
  .secretary-duties-label { min-height: 0; padding: 18px; font-size: clamp(23px, 2.35cqw, 32px); }
  .secretary-duties-grid { align-content: start; gap: 24px 34px; padding: 24px 30px; }
  .secretary-duties-grid .scope-bullet-rows li { font-size: 14px; }

  .scope-cayman-steps li { min-height: 220px; padding: 26px 22px; }
  .scope-cayman-steps span { width: 76px; margin-bottom: 24px; font-size: 23px; }
  .scope-cayman-steps strong { font-size: clamp(18px, 1.7cqw, 24px); }
  .scope-generic { grid-template-columns: 144px minmax(0, 1fr); gap: 30px; padding: 30px; }
  .scope-generic .scope-icon { width: 94px; height: 94px; }
  .scope-generic h2 { font-size: 22px; }
}

/* Homepage service entry points: remove the large photo-tab treatment. */
.service-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.service-overview-link {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  min-height: 144px;
  padding: 24px 26px;
  color: #084A91;
  background: #E9F1F8;
  border: 1px solid rgba(8, 74, 145, 0.13);
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.service-overview-link:hover,
.service-overview-link:focus-visible {
  color: #084A91;
  background: #FFFFFF;
  border-color: #3471AD;
  transform: translateY(-3px);
}

.service-overview-link:active { transform: translateY(-1px); }

.service-overview-icon {
  display: grid;
  place-items: center;
  width: 82px;
  aspect-ratio: 1;
  padding: 16px;
  background: #FFFFFF;
  border-radius: 50%;
}

.service-overview-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.service-overview-link strong,
.service-overview-link small {
  display: block;
}

.service-overview-link strong {
  color: #084A91;
  font-size: clamp(19px, 1.55vw, 25px);
  font-weight: 700;
  line-height: 1.3;
}

.service-overview-link small {
  margin-top: 8px;
  color: #44546A;
  font-size: 14px;
  line-height: 1.6;
}

.service-overview-link b {
  color: #EB8F07;
  font-size: 25px;
  font-weight: 500;
  transition: transform 0.2s ease;
}

.service-overview-link:hover b,
.service-overview-link:focus-visible b { transform: translateX(4px); }

@media (max-width: 820px) {
  .service-overview-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .service-overview-link { grid-template-columns: 62px minmax(0, 1fr) auto; gap: 15px; min-height: 0; padding: 18px; }
  .service-overview-icon { width: 62px; padding: 12px; }
  .service-overview-link small { font-size: 13px; }
}

/* Homepage services: a compact navigation row opens one business overview at a time. */
.services-grid-section {
  display: block;
  padding: clamp(72px, 7vw, 112px) var(--site-inline-gutter);
  background: var(--paper);
  overflow: hidden;
}

.services-overview {
  width: 100%;
  max-width: none;
  margin: 0 auto;
}

.services-grid-section .section-heading {
  max-width: none;
  margin: 0 0 40px;
}

.services-grid-section .section-heading h2,
.services-grid-section .section-heading p:not(.eyebrow) {
  color: var(--heading-ink);
  white-space: nowrap;
}

.services-grid-section .section-heading h2 {
  font-weight: 500;
}

html[lang^="en"] .services-grid-section .section-heading h2,
html[lang^="en"] .services-grid-section .section-heading p:not(.eyebrow) {
  white-space: normal;
}

.service-overview-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 0;
}

.service-overview-tab {
  display: grid;
  justify-items: center;
  align-content: center;
  min-height: 116px;
  gap: 8px;
  padding: 14px 10px;
  color: #7C8794;
  background: #FFFFFF;
  border: 1px solid transparent;
  border-radius: 0;
  box-shadow: 0 10px 26px rgba(8, 74, 145, 0.07);
  cursor: pointer;
  font: inherit;
  font-size: clamp(14px, 1.1vw, 17px);
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.service-overview-tab:hover,
.service-overview-tab:focus-visible {
  color: #084A91;
  border-color: rgba(8, 74, 145, 0.3);
  box-shadow: 0 16px 30px rgba(8, 74, 145, 0.12);
  transform: translateY(-3px);
}

.service-overview-tab:active { transform: translateY(-1px); }

.service-overview-tab.is-active {
  color: var(--primary-blue);
  border-color: rgba(8, 74, 145, 0.42);
  box-shadow: 0 14px 30px rgba(8, 74, 145, 0.11);
}

.service-overview-icon {
  --service-overview-icon-size: 48px;
  display: grid;
  place-items: center;
  width: var(--service-overview-icon-size);
  height: var(--service-overview-icon-size);
  padding: 0;
  background: transparent;
  border-radius: 0;
}

.service-overview-icon img {
  display: block;
  width: var(--service-overview-icon-size);
  height: var(--service-overview-icon-size);
  object-fit: contain;
  filter: grayscale(1) opacity(0.5);
  transition: filter 0.2s ease, transform 0.2s ease;
}

.service-overview-tab:hover .service-overview-icon img,
.service-overview-tab:focus-visible .service-overview-icon img,
.service-overview-tab.is-active .service-overview-icon img {
  filter: none;
  transform: translateY(-2px);
}

.service-overview-panel {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  min-height: 420px;
  background: #F5F5F5;
  border-top: 3px solid var(--primary-blue);
  overflow: hidden;
}

.service-overview-panel[hidden] { display: none; }

.service-overview-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(38px, 4vw, 60px);
  padding-bottom: calc(clamp(38px, 4vw, 60px) + 44px);
}

.service-overview-copy h3 {
  margin: 0 0 14px;
  color: var(--heading-ink);
  font-size: clamp(29px, 2.6vw, 40px);
  font-weight: 700;
  line-height: 1.2;
}

.service-overview-copy > p {
  max-width: 34em;
  margin: 0;
  color: #5B6877;
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.68;
}

.service-overview-copy dl {
  display: grid;
  gap: 10px;
  width: 100%;
  max-width: 38em;
  margin: 18px 0 22px;
}

.service-overview-copy dl div {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

html[lang^="en"] .service-overview-copy dl div {
  grid-template-columns: 104px minmax(0, 1fr);
}

.service-overview-copy dt {
  color: var(--accent-strong);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
  white-space: nowrap;
}

.service-overview-copy dd {
  min-width: 0;
  margin: 0;
  color: #44546A;
  font-size: 17px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.service-overview-cta {
  position: absolute;
  inset-inline-start: clamp(38px, 4vw, 60px);
  bottom: 30px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 44px;
  padding: 10px 0;
  color: #084A91;
  background: transparent;
  border: none;
  border-radius: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.2s ease;
}

.service-overview-cta:hover,
.service-overview-cta:focus-visible {
  transform: translateY(-2px);
}

.service-overview-cta:active { transform: translateY(-1px); }
.service-overview-cta span { color: #084A91; font-size: 20px; font-weight: 700; }

.service-overview-media {
  display: block;
  min-height: 420px;
  overflow: hidden;
  background: #DDE9F5;
  text-decoration: none;
}

.service-overview-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.service-overview-panel[data-service-panel="cayman"] .service-overview-media img {
  object-position: 35% center;
}

/* Chinese copy fits a more compact desktop canvas. Its shorter height also
   preserves more of the 16:9 service photography when cropped to cover. */
@media (min-width: 1081px) {
  .service-overview-panel {
    height: 420px;
  }

  .service-overview-media {
    height: 100%;
    min-height: 0;
  }
}

/* English service names and descriptions need a shared, larger desktop canvas.
   Keep the CTA within the copy panel and stretch the companion image with it. */
html[lang^="en"] .service-overview-tab {
  min-height: 136px;
}

html[lang^="en"] .service-overview-panel,
html[lang^="en"] .service-overview-media {
  min-height: 500px;
}

@media (min-width: 1081px) {
  html[lang^="en"] .service-overview-panel {
    height: 500px;
  }

  html[lang^="en"] .service-overview-media {
    height: 100%;
    min-height: 0;
  }
}

@media (min-width: 761px) and (max-width: 1080px) {
  html[lang^="en"] .service-overview-panel {
    height: 620px;
  }

  html[lang^="en"] .service-overview-media {
    height: 100%;
    min-height: 0;
  }
}

@media (max-width: 1080px) {
  .service-overview-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .service-overview-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .services-grid-section { padding: 58px 24px 68px; }
  .services-grid-section .section-heading { margin-bottom: 32px; }
  .services-grid-section .section-heading h2,
  .services-grid-section .section-heading p:not(.eyebrow) { white-space: normal; }
  .service-overview-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 0; }
  .service-overview-tab { min-height: 104px; padding: 12px 8px; font-size: 14px; }
  .service-overview-icon { --service-overview-icon-size: 44px; }
  .service-overview-panel { grid-template-columns: 1fr; min-height: 0; }
  .service-overview-copy { padding: 28px 24px 74px; }
  .service-overview-cta { inset-inline-start: 24px; bottom: 30px; }
  .service-overview-media { min-height: 220px; max-height: 250px; order: -1; }
  html[lang^="en"] .service-overview-tab { min-height: 112px; }
  html[lang^="en"] .service-overview-panel,
  html[lang^="en"] .service-overview-media { height: auto; min-height: 0; }
}

@media (max-width: 420px) {
  .service-overview-copy dl div,
  html[lang^="en"] .service-overview-copy dl div { grid-template-columns: 1fr; gap: 2px; }
}

@media (prefers-reduced-motion: reduce) {
  .service-overview-tab,
  .service-overview-icon img,
  .service-overview-cta { transition: none; }
  .service-overview-tab:hover,
  .service-overview-tab:focus-visible,
  .service-overview-tab:active,
  .service-overview-cta:hover,
  .service-overview-cta:focus-visible,
  .service-overview-cta:active { transform: none; }
}

/* Service detail refinement: share the header/solutions canvas and replace the
   three PPT-derived compositions with responsive editorial layouts. */

.service-scope-content {
  --scope-radius: 14px;
}

.scope-title-block h1 {
  color: var(--heading-ink);
}

.scope-title-block p {
  max-width: none;
}

.scope-title-block--secretary p {
  white-space: normal;
}

.scope-consult-button {
  white-space: nowrap;
}

@media (min-width: 721px) {
  .scope-title-block p {
    white-space: nowrap;
  }
}

/* Entity formation: one anchor story with two supporting service groups. */
.scope-title-block--formation {
  margin-bottom: clamp(20px, 1.7vw, 26px);
}

.scope-formation-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(26px, 2.4vw, 38px);
}

.formation-support {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(40px, 5vw, 76px);
}

.formation-support .formation-column {
  min-height: 0;
}

.formation-column {
  --formation-card-padding: clamp(17px, 1.4vw, 22px);
  min-height: 0;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.formation-column:nth-child(2),
.formation-column.is-soft {
  background: transparent;
}

.formation-column.is-primary {
  display: grid;
  grid-template-columns: minmax(320px, 0.86fr) minmax(0, 1.14fr);
  grid-template-rows: auto 1fr;
  column-gap: clamp(22px, 2.4vw, 34px);
  padding: 0;
  background: transparent;
}

.formation-media {
  grid-column: 1;
  grid-row: 1 / span 2;
  min-height: 280px;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.formation-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.formation-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.formation-column.is-primary .formation-heading {
  grid-column: 2;
  justify-content: flex-start;
  margin: clamp(8px, 1vw, 14px) 0 8px;
}

.formation-column.is-primary .scope-pill-rows {
  grid-column: 2;
  align-self: stretch;
  grid-template-rows: repeat(4, minmax(0, 1fr));
  min-height: 216px;
  margin: 0;
}

.formation-column.is-primary .scope-pill-rows li {
  display: flex;
  align-items: center;
  padding-block: 10px;
  line-height: 1.6;
}

.formation-column.is-primary .scope-pill-rows li::before {
  top: 50%;
  transform: translateY(-50%);
}

.formation-column.is-primary .scope-pill-rows strong {
  flex: 0 0 auto;
  white-space: nowrap;
}

.formation-column.is-primary h2 {
  text-align: left;
}

.formation-icon {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
}

.formation-column h2,
.formation-column:nth-child(2) h2,
.formation-column.is-soft h2 {
  width: auto;
  margin: 0;
  padding: 0;
  color: var(--heading-ink);
  background: transparent;
  border-radius: 0;
  font-size: clamp(20px, 1.4vw, 24px);
  text-align: left;
}

.formation-column .scope-pill-rows {
  gap: 0;
}

.formation-column .scope-pill-rows li {
  min-height: 0;
  padding: 8px 4px 8px 24px;
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(8, 74, 145, 0.11);
  border-radius: 0;
  font-size: clamp(14px, 1.05vw, 17px);
}

.formation-column .scope-pill-rows li::before {
  left: 2px;
}

.formation-support .scope-pill-rows {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(16px, 2vw, 28px);
}

.formation-support .scope-pill-rows li {
  padding-block: clamp(10px, 0.8vw, 13px);
  font-size: clamp(15px, 1.12vw, 18px);
  line-height: 1.55;
}

.formation-support .scope-pill-rows li:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

@media (min-width: 721px) {
  .service-scope-content.is-formation:not(.is-english) .formation-support {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr);
    column-gap: clamp(8px, 1vw, 12px);
  }

  .service-scope-content.is-formation:not(.is-english) .formation-support .scope-pill-rows {
    column-gap: clamp(8px, 0.8vw, 10px);
  }

  .service-scope-content.is-formation:not(.is-english) .formation-support .scope-pill-rows li {
    padding-left: 20px;
    white-space: nowrap;
  }
}

.service-scope-content.is-english .formation-column .scope-pill-rows li {
  padding-block: 6px;
}

/* Fund governance: six content cells arranged as a balanced asymmetric bento. */
.scope-fund-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(16px, 1.6vw, 24px);
}

.scope-feature-panel {
  position: relative;
  grid-column: span 3;
  min-height: 210px;
  padding: clamp(18px, 1.8vw, 26px);
  overflow: hidden;
  background: #F2F6FA;
  border: 1px solid rgba(8, 74, 145, 0.12);
  border-radius: var(--scope-radius);
}

.scope-feature-panel:nth-child(1) {
  grid-column: span 6;
  grid-row: span 2;
  min-height: 444px;
  background: #E8F1F8;
}

.scope-feature-panel:nth-child(6) {
  grid-column: span 12;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: center;
  min-height: 150px;
  color: #FFFFFF;
  background: #084A91;
  border-color: #084A91;
}

.scope-feature-panel:nth-child(6) h2,
.scope-feature-panel:nth-child(6) .scope-bullet-rows li {
  color: #FFFFFF;
}

.scope-feature-panel:nth-child(6) .scope-bullet-rows {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.scope-feature-panel:nth-child(6) .scope-bullet-rows li::before {
  color: #EB8F07;
}

.scope-feature-icon {
  width: 64px;
  padding: 11px;
  border: 1px solid rgba(8, 74, 145, 0.12);
}

.scope-feature-panel h2 {
  font-size: clamp(18px, 1.45vw, 24px);
}

.scope-feature-panel .scope-bullet-rows li {
  font-size: clamp(14px, 1.05vw, 17px);
}

.scope-feature-media {
  height: clamp(190px, 18vw, 260px);
  margin: calc(clamp(18px, 1.8vw, 26px) * -1) calc(clamp(18px, 1.8vw, 26px) * -1) 22px;
  overflow: hidden;
}

.scope-feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Listed company secretarial: image-led rationale plus a clear duty hierarchy. */
.secretary-why {
  grid-template-columns: minmax(300px, 0.85fr) minmax(0, 1.35fr);
  align-items: stretch;
  gap: clamp(28px, 3.4vw, 56px);
  padding: 0;
  overflow: hidden;
  background: #EDF4F9;
  border: 1px solid rgba(8, 74, 145, 0.12);
  border-radius: var(--scope-radius);
}

.secretary-why figure {
  min-height: 0;
  margin: 0;
  overflow: hidden;
}

.secretary-why figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.secretary-why > div:last-child {
  display: flex;
  align-self: stretch;
  flex-direction: column;
  justify-content: center;
  padding: clamp(26px, 3vw, 44px) clamp(26px, 3.4vw, 54px) clamp(26px, 3vw, 44px) 0;
}

.secretary-why h2,
.secretary-duties h2 {
  color: var(--heading-ink);
}

.secretary-why ul {
  display: grid;
  gap: 12px;
  padding-left: 22px;
  margin: 0;
}

.secretary-duties {
  display: block;
  margin-top: clamp(18px, 2vw, 28px);
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.secretary-duties .secretary-duties-label {
  display: block;
  min-height: 0;
  margin-bottom: clamp(14px, 1.4vw, 20px);
  padding: 0;
  color: var(--heading-ink);
  background: transparent;
  font-size: clamp(24px, 2.1vw, 32px);
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
}

.secretary-duties-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: clamp(14px, 1.4vw, 20px);
  padding: 0;
}

.secretary-duties-grid > div {
  min-height: 190px;
  padding: clamp(22px, 2.2vw, 32px);
  background: #F2F6FA;
  border: 1px solid rgba(8, 74, 145, 0.12);
  border-radius: var(--scope-radius);
}

.secretary-duties-grid > div:first-child {
  grid-row: auto;
  padding-right: clamp(22px, 2.2vw, 32px);
  background: #F2F6FA;
  border-right: 1px solid rgba(8, 74, 145, 0.12);
}

.secretary-duties-grid > div:nth-child(2) {
  border-top: 1px solid rgba(8, 74, 145, 0.12);
}

.secretary-duties-grid .scope-bullet-rows {
  gap: 7px;
}

.secretary-duties-grid .scope-bullet-rows li {
  font-size: clamp(14px, 1.05vw, 16px);
  line-height: 1.5;
}

@media (max-width: 1180px) {
  .scope-formation-grid {
    grid-template-columns: 1fr;
  }

  .scope-fund-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scope-feature-panel,
  .scope-feature-panel:nth-child(1),
  .scope-feature-panel:nth-child(6) {
    grid-column: auto;
    grid-row: auto;
    min-height: 240px;
  }

  .scope-feature-panel:nth-child(1) {
    grid-row: span 2;
    min-height: 504px;
  }

  .scope-feature-panel:nth-child(6) {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .scope-feature-panel:nth-child(6) .scope-bullet-rows {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 960px) {
  .scope-formation-grid {
    grid-template-columns: 1fr;
  }

  .formation-support {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
  }

  .secretary-why {
    grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
    align-items: stretch;
    padding: 0;
  }

  .secretary-why > div:last-child {
    padding: 28px 28px 28px 0;
  }
}

@media (max-width: 720px) {
  .scope-title-row {
    align-items: flex-start;
  }

  .scope-title-block h1 {
    font-size: clamp(30px, 9vw, 38px);
  }

  .scope-title-block p {
    font-size: 15px;
  }

  .formation-support,
  .scope-fund-grid,
  .secretary-why,
  .secretary-duties-grid {
    grid-template-columns: 1fr;
  }

  .formation-media,
  .scope-feature-media {
    height: 210px;
  }

  .scope-title-block--formation {
    margin-bottom: 24px;
  }

  .formation-column {
    --formation-card-padding: 18px;
  }

  .formation-support .formation-column {
    min-height: 0;
  }

  .formation-heading {
    margin-bottom: 14px;
  }

  .formation-column .scope-pill-rows li {
    padding-block: 10px;
  }

  .service-scope-content.is-english .formation-column .scope-pill-rows li {
    padding-block: 10px;
  }

  .scope-feature-panel,
  .scope-feature-panel:nth-child(1),
  .scope-feature-panel:nth-child(6) {
    grid-column: auto;
    grid-row: auto;
    min-height: 0;
  }

  .scope-feature-panel:nth-child(6) {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .secretary-why figure {
    min-height: 220px;
  }

  .secretary-why > div:last-child {
    padding: 26px 22px 28px;
  }

  .secretary-duties-grid > div:first-child {
    grid-row: auto;
    border-right: 1px solid rgba(8, 74, 145, 0.12);
  }

  .secretary-duties-grid > div:nth-child(2) {
    border-top: 1px solid rgba(8, 74, 145, 0.12);
  }

  .secretary-duties-grid > div {
    min-height: 0;
  }
}

@media (max-width: 480px) {
  .scope-title-row {
    display: grid;
  }

  .scope-consult-button {
    justify-self: start;
  }

  .scope-feature-panel:nth-child(6) {
    grid-template-columns: 1fr;
  }
}

@container (max-width: 760px) {
  .formation-column.is-primary {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    padding: 0;
  }

  .formation-media {
    grid-column: 1;
    grid-row: auto;
    height: 210px;
    min-height: 0;
    margin: 0 0 20px;
  }

  .formation-column.is-primary .formation-heading,
  .formation-column.is-primary .scope-pill-rows {
    grid-column: 1;
    margin-right: 0;
    margin-left: 0;
  }

  .formation-column.is-primary .scope-pill-rows {
    grid-template-rows: none;
    min-height: 0;
  }

  .formation-column.is-primary .formation-heading {
    margin-top: 0;
  }

  .formation-support,
  .formation-support .scope-pill-rows {
    grid-template-columns: 1fr;
  }

  .formation-support .scope-pill-rows li:last-child:nth-child(odd) {
    grid-column: auto;
  }
}

/* Fund governance detail: editorial split rows inspired by the supplied
   image-and-copy reference, with brand icons replacing photography. */
.scope-fund-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.fund-service-row {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.98fr);
  align-items: center;
  gap: clamp(28px, 4vw, 60px);
  min-height: clamp(260px, 23vw, 340px);
  padding: clamp(26px, 3.2vw, 46px) 0;
}

.fund-service-row + .fund-service-row {
  border-top: 1px solid rgba(8, 74, 145, 0.12);
}

.fund-service-copy {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  padding-inline: clamp(0px, 1vw, 16px);
}

.fund-service-copy h2 {
  position: relative;
  margin: 0 0 clamp(15px, 1.5vw, 21px);
  padding-top: 16px;
  color: var(--heading-ink);
  font-size: clamp(24px, 2vw, 32px);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.2;
}

.fund-service-copy h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 38px;
  height: 3px;
  background: #084A91;
}

.fund-service-copy .scope-bullet-rows {
  gap: 8px;
}

.fund-service-copy .scope-bullet-rows li {
  padding-left: 20px;
  color: var(--service-pair-description);
  font-size: clamp(15px, 1.05vw, 17px);
  line-height: 1.58;
}

.fund-service-copy .scope-bullet-rows li::before {
  top: 0;
  left: 0;
  color: #084A91;
}

.fund-service-visual {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-column: 2;
  grid-row: 1;
  place-items: center;
  min-height: clamp(200px, 18vw, 270px);
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 28%, rgba(235, 143, 7, 0.11), transparent 27%),
    linear-gradient(145deg, #F7FAFC 0%, #E8F1F8 100%);
  border: 1px solid rgba(8, 74, 145, 0.1);
  border-radius: var(--scope-radius);
}

.fund-service-visual::before,
.fund-service-visual::after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(8, 74, 145, 0.12);
  border-radius: 50%;
}

.fund-service-visual::before {
  width: 70%;
  aspect-ratio: 1;
}

.fund-service-visual::after {
  width: 48%;
  aspect-ratio: 1;
}

.fund-service-icon {
  display: grid;
  place-items: center;
  width: clamp(108px, 10vw, 150px);
  aspect-ratio: 1;
  padding: clamp(21px, 2vw, 30px);
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(8, 74, 145, 0.14);
  border-radius: 50%;
  box-shadow: 0 18px 38px rgba(8, 74, 145, 0.12);
}

.fund-service-icon .scope-icon {
  width: 100%;
  height: 100%;
}

.fund-service-row.is-visual-left {
  grid-template-columns: minmax(320px, 0.98fr) minmax(0, 1.02fr);
}

.fund-service-row.is-visual-left .fund-service-visual {
  grid-column: 1;
}

.fund-service-row.is-visual-left .fund-service-copy {
  grid-column: 2;
}

@media (max-width: 960px) {
  .fund-service-row,
  .fund-service-row.is-visual-left {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.82fr);
    gap: clamp(22px, 3vw, 36px);
    min-height: 260px;
  }
}

@media (max-width: 720px) {
  .fund-service-row,
  .fund-service-row.is-visual-left {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: 0;
    padding: 26px 0;
  }

  .fund-service-row .fund-service-visual,
  .fund-service-row.is-visual-left .fund-service-visual {
    grid-column: 1;
    grid-row: 1;
    min-height: 160px;
  }

  .fund-service-row .fund-service-copy,
  .fund-service-row.is-visual-left .fund-service-copy {
    grid-column: 1;
    grid-row: 2;
    padding-inline: 0;
  }

  .fund-service-copy h2 {
    margin-bottom: 14px;
    padding-top: 14px;
    font-size: clamp(22px, 6.5vw, 28px);
  }

  .fund-service-icon {
    width: 96px;
    padding: 20px;
  }
}

/* Cayman share registration: six services form one continuous staircase.
   The shared baseline and rising top edge communicate progression without
   turning the content into another grid of equal cards. */
.scope-cayman-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(138px, 1fr));
  align-items: end;
  gap: 0;
  min-height: clamp(430px, 42cqw, 540px);
  padding: clamp(24px, 2.8cqw, 42px) 0 0;
  overflow-x: auto;
  overflow-y: hidden;
  border-bottom: 4px solid #084A91;
  scrollbar-color: rgba(8, 74, 145, 0.35) transparent;
  scrollbar-width: thin;
}

.scope-cayman-steps li {
  --step-height: 240px;
  --mobile-step-offset: 0px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  min-height: var(--step-height);
  padding: clamp(26px, 2.2cqw, 34px) clamp(12px, 1.35cqw, 20px) 24px;
  color: #084A91;
  background: #EEF5FA;
  border: 0;
  border-top: 3px solid #3471AD;
  border-left: 1px solid rgba(8, 74, 145, 0.18);
  box-sizing: border-box;
  text-align: center;
}

.scope-cayman-steps li:last-child {
  border-right: 1px solid rgba(8, 74, 145, 0.18);
}

.scope-cayman-steps li:nth-child(1) { --step-height: clamp(240px, 24cqw, 260px); --mobile-step-offset: 0px; background: #F4F8FC; }
.scope-cayman-steps li:nth-child(2) { --step-height: clamp(282px, 28.2cqw, 304px); --mobile-step-offset: 6px; background: #EFF5FA; }
.scope-cayman-steps li:nth-child(3) { --step-height: clamp(324px, 32.4cqw, 348px); --mobile-step-offset: 12px; background: #EAF2F8; }
.scope-cayman-steps li:nth-child(4) { --step-height: clamp(366px, 36.6cqw, 392px); --mobile-step-offset: 18px; background: #E5EFF7; }
.scope-cayman-steps li:nth-child(5) { --step-height: clamp(408px, 40.8cqw, 436px); --mobile-step-offset: 24px; background: #E0ECF5; }
.scope-cayman-steps li:nth-child(6) { --step-height: clamp(450px, 45cqw, 480px); --mobile-step-offset: 30px; background: #DBE9F3; }

.scope-cayman-steps span {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: clamp(52px, 5cqw, 68px);
  margin-bottom: clamp(18px, 1.8cqw, 25px);
  aspect-ratio: 1;
  color: #FFFFFF;
  background: #3471AD;
  border-radius: 50%;
  font-size: clamp(18px, 1.8cqw, 24px);
  font-weight: 700;
  line-height: 1;
}

.scope-cayman-steps strong {
  color: inherit;
  font-size: clamp(15px, 1.25cqw, 19px);
  font-weight: 700;
  line-height: 1.5;
  overflow-wrap: break-word;
}

.service-scope-content.is-english .scope-cayman-steps strong {
  font-size: clamp(14px, 1.06cqw, 17px);
  line-height: 1.45;
}

@container (max-width: 780px) {
  .scope-cayman-steps {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    min-height: 0;
    padding: 0;
    overflow: visible;
    border-bottom: 0;
  }

  .scope-cayman-steps li {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    align-items: center;
    justify-items: start;
    gap: 16px;
    width: calc(100% - var(--mobile-step-offset));
    min-height: 92px;
    margin-left: var(--mobile-step-offset);
    padding: 16px 18px;
    border-top: 0;
    border-left: 3px solid #3471AD;
    border-right: 0;
    text-align: left;
  }

  .scope-cayman-steps li:last-child {
    border-right: 0;
  }

  .scope-cayman-steps span {
    width: 54px;
    margin: 0;
    font-size: 18px;
  }

  .scope-cayman-steps strong,
  .service-scope-content.is-english .scope-cayman-steps strong {
    font-size: clamp(15px, 4.2cqw, 18px);
    line-height: 1.45;
  }
}

/* Compact six-item service matrices. These entries are parallel capabilities,
   so the layout prioritises comparison and one-screen scanning over sequence. */
.scope-fund-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.4cqw, 20px);
}

.scope-fund-grid .fund-service-row,
.scope-fund-grid .fund-service-row.is-visual-left {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  grid-template-rows: auto;
  align-items: start;
  gap: 15px;
  min-height: 190px;
  padding: clamp(18px, 1.7cqw, 24px);
  background: #F5F8FB;
  border: 1px solid rgba(8, 74, 145, 0.13);
  border-radius: var(--scope-radius);
}

.scope-fund-grid .fund-service-row:nth-child(1),
.scope-fund-grid .fund-service-row:nth-child(4) {
  background: #E9F2F8;
}

.scope-fund-grid .fund-service-row:nth-child(3),
.scope-fund-grid .fund-service-row:nth-child(5) {
  background: #EEF4F9;
}

.scope-fund-grid .fund-service-row:nth-child(6) {
  color: #F7FAFC;
  background: #084A91;
  border-color: #084A91;
}

.scope-fund-grid .fund-service-row + .fund-service-row {
  border-top: 1px solid rgba(8, 74, 145, 0.13);
}

.scope-fund-grid .fund-service-row .fund-service-visual,
.scope-fund-grid .fund-service-row.is-visual-left .fund-service-visual {
  position: static;
  isolation: auto;
  grid-column: 1;
  grid-row: 1;
  width: 58px;
  min-height: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.scope-fund-grid .fund-service-visual::before,
.scope-fund-grid .fund-service-visual::after {
  display: none;
}

.scope-fund-grid .fund-service-icon {
  width: 58px;
  padding: 11px;
  background: #FFFFFF;
  border: 1px solid rgba(8, 74, 145, 0.13);
  box-shadow: none;
}

.scope-fund-grid .fund-service-row .fund-service-copy,
.scope-fund-grid .fund-service-row.is-visual-left .fund-service-copy {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  padding: 0;
}

.scope-fund-grid .fund-service-copy h2 {
  margin: 1px 0 10px;
  padding: 0;
  color: var(--heading-ink);
  font-size: clamp(18px, 1.45cqw, 22px);
  line-height: 1.25;
}

.scope-fund-grid .fund-service-copy h2::before {
  display: none;
}

.scope-fund-grid .fund-service-copy .scope-bullet-rows {
  gap: 5px;
}

.scope-fund-grid .fund-service-copy .scope-bullet-rows li {
  padding-left: 16px;
  color: var(--service-pair-description);
  font-size: clamp(13px, 1.02cqw, 15px);
  line-height: 1.45;
}

.scope-fund-grid .fund-service-copy .scope-bullet-rows li::before {
  left: 0;
}

.scope-fund-grid .fund-service-row:nth-child(6) h2,
.scope-fund-grid .fund-service-row:nth-child(6) .scope-bullet-rows li {
  color: #F7FAFC;
}

.scope-fund-grid .fund-service-row:nth-child(6) .scope-bullet-rows li::before {
  color: #EB8F07;
}

.scope-cayman-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.4cqw, 20px);
  padding: 0;
  margin: 0;
  list-style: none;
}

.scope-cayman-grid li {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  align-items: center;
  gap: 17px;
  min-height: clamp(158px, 16cqw, 184px);
  padding: clamp(20px, 2cqw, 28px);
  color: #084A91;
  background: #F5F8FB;
  border: 1px solid rgba(8, 74, 145, 0.13);
  border-radius: var(--scope-radius);
}

.scope-cayman-grid li:nth-child(1),
.scope-cayman-grid li:nth-child(4) {
  background: #E9F2F8;
}

.scope-cayman-grid li:nth-child(3),
.scope-cayman-grid li:nth-child(5) {
  background: #EEF4F9;
}

.scope-cayman-grid li:nth-child(6) {
  color: #F7FAFC;
  background: #084A91;
  border-color: #084A91;
}

.cayman-service-icon {
  display: grid;
  place-items: center;
  width: 62px;
  aspect-ratio: 1;
  padding: 12px;
  background: #FFFFFF;
  border: 1px solid rgba(8, 74, 145, 0.13);
  border-radius: 50%;
}

.scope-cayman-grid strong {
  min-width: 0;
  color: inherit;
  font-size: clamp(16px, 1.3cqw, 20px);
  font-weight: 700;
  line-height: 1.45;
}

.service-scope-content.is-english .scope-cayman-grid strong {
  font-size: clamp(15px, 1.08cqw, 17px);
  line-height: 1.4;
}

@container (max-width: 900px) {
  .scope-fund-grid,
  .scope-cayman-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scope-fund-grid .fund-service-row,
  .scope-fund-grid .fund-service-row.is-visual-left {
    min-height: 182px;
  }
}

@container (max-width: 560px) {
  .scope-fund-grid,
  .scope-cayman-grid {
    grid-template-columns: 1fr;
  }

  .scope-fund-grid .fund-service-row,
  .scope-fund-grid .fund-service-row.is-visual-left,
  .scope-cayman-grid li {
    min-height: 0;
    padding: 18px;
  }
}

/* Listed company secretarial: use a near-viewport composition while keeping
   all four duty groups visible in one desktop row. */
.service-scope-content.is-secretarial .scope-title-block {
  margin-bottom: clamp(28px, 2.8cqw, 40px);
}

.service-scope-content.is-secretarial .scope-title-block p {
  margin-top: 10px;
  line-height: 1.35;
}

.service-scope-content.is-secretarial .secretary-why {
  grid-template-columns: minmax(250px, 0.72fr) minmax(0, 1.58fr);
  gap: clamp(30px, 3cqw, 44px);
  height: clamp(236px, 26cqw, 300px);
  min-height: 0;
}

.service-scope-content.is-secretarial.is-english .secretary-why {
  height: clamp(270px, 30cqw, 340px);
}

.service-scope-content.is-secretarial .secretary-why > div:last-child {
  padding: clamp(26px, 2.6cqw, 34px) clamp(34px, 3.4cqw, 48px) clamp(26px, 2.6cqw, 34px) 0;
}

.service-scope-content.is-secretarial .secretary-why h2 {
  margin-bottom: 14px;
  font-size: clamp(25px, 2.3cqw, 32px);
}

.service-scope-content.is-secretarial .secretary-why ul {
  gap: 10px;
  padding-left: 0;
  list-style: none;
}

.service-scope-content.is-secretarial .secretary-why li {
  font-size: clamp(15px, 1.35cqw, 18px);
  line-height: 1.58;
}

.service-scope-content.is-secretarial .secretary-duties {
  margin-top: clamp(22px, 2.2cqw, 32px);
}

.service-scope-content.is-secretarial .secretary-duties .secretary-duties-label {
  margin-bottom: clamp(16px, 1.6cqw, 22px);
  color: var(--heading-ink);
  font-size: clamp(28px, 2.5cqw, 34px);
  text-align: center;
}

.service-scope-content.is-secretarial .secretary-why h2 {
  color: var(--heading-ink);
}

.service-scope-content.is-secretarial .secretary-duties-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: clamp(14px, 1.4cqw, 20px);
}

.service-scope-content.is-secretarial .secretary-duties-grid > div,
.service-scope-content.is-secretarial .secretary-duties-grid > div:first-child {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: clamp(240px, 27cqw, 300px);
  padding: clamp(24px, 2.4cqw, 32px);
}

.service-scope-content.is-secretarial .secretary-duties-grid > div > h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5em;
  margin-bottom: 12px;
  font-size: clamp(23px, 2cqw, 28px);
  line-height: 1.25;
  text-align: center;
}

.service-scope-content.is-secretarial .secretary-duties-grid .scope-bullet-rows {
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}

.service-scope-content.is-secretarial .secretary-duties-grid .scope-bullet-rows li {
  padding-left: 19px;
  font-size: clamp(15px, 1.35cqw, 17px);
  line-height: 1.45;
}

.service-scope-content.is-secretarial .secretary-duties-grid .scope-bullet-rows li::before {
  left: 0;
}

@container (max-width: 900px) {
  .service-scope-content.is-secretarial.is-english .secretary-why {
    height: auto;
    min-height: 0;
  }

  .service-scope-content.is-secretarial .secretary-duties-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-scope-content.is-secretarial .secretary-duties-grid > div,
  .service-scope-content.is-secretarial .secretary-duties-grid > div:first-child {
    min-height: 220px;
  }
}

@container (max-width: 620px) {
  .service-scope-content.is-secretarial .secretary-why,
  .service-scope-content.is-secretarial .secretary-duties-grid {
    grid-template-columns: 1fr;
  }

  .service-scope-content.is-secretarial .secretary-why,
  .service-scope-content.is-secretarial.is-english .secretary-why {
    height: auto;
    min-height: 0;
  }

  .service-scope-content.is-secretarial .secretary-why > div:last-child {
    padding: 22px;
  }

  .service-scope-content.is-secretarial .secretary-duties-grid > div,
  .service-scope-content.is-secretarial .secretary-duties-grid > div:first-child {
    min-height: 0;
  }
}

/* Fund services: an asymmetric capability mosaic.
   The six services are peers, but their different footprints make the set
   easier to scan than another uniform card matrix. */
.scope-fund-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(12px, 1.2cqw, 18px);
}

.scope-fund-grid .fund-service-row,
.scope-fund-grid .fund-service-row.is-visual-left {
  position: relative;
  grid-template-columns: 52px minmax(0, 1fr);
  align-content: start;
  gap: 16px;
  min-height: clamp(190px, 18cqw, 218px);
  padding: clamp(20px, 1.9cqw, 27px);
  overflow: hidden;
  background: #F7FAFC;
  border: 1px solid rgba(8, 74, 145, 0.12);
}

.scope-fund-grid .fund-service-row:nth-child(1) {
  grid-column: span 5;
  grid-template-columns: 70px minmax(0, 1fr);
  color: #FFFFFF;
  background: #084A91;
  border-color: #084A91;
}

.scope-fund-grid .fund-service-row:nth-child(2) {
  grid-column: span 3;
  grid-template-columns: 1fr;
  background: #E8F1F7;
}

.scope-fund-grid .fund-service-row:nth-child(3) {
  grid-column: span 4;
  background: #F3F7FA;
}

.scope-fund-grid .fund-service-row:nth-child(4) {
  grid-column: span 4;
  background: #EAF2F8;
}

.scope-fund-grid .fund-service-row:nth-child(5) {
  grid-column: span 3;
  grid-template-columns: 1fr;
  background: #F7FAFC;
}

.scope-fund-grid .fund-service-row:nth-child(6) {
  grid-column: span 5;
  grid-template-columns: 70px minmax(0, 1fr);
  color: #FFFFFF;
  background: linear-gradient(135deg, #3471AD 0%, #084A91 100%);
  border-color: #17609E;
}

.scope-fund-grid .fund-service-row + .fund-service-row {
  border-top-color: rgba(8, 74, 145, 0.12);
}

.scope-fund-grid .fund-service-row .fund-service-visual,
.scope-fund-grid .fund-service-row.is-visual-left .fund-service-visual {
  grid-column: 1;
  grid-row: 1;
  width: 52px;
}

.scope-fund-grid .fund-service-row:nth-child(1) .fund-service-visual,
.scope-fund-grid .fund-service-row:nth-child(6) .fund-service-visual {
  width: 70px;
}

.scope-fund-grid .fund-service-row:nth-child(2) .fund-service-visual,
.scope-fund-grid .fund-service-row:nth-child(5) .fund-service-visual {
  grid-column: 1;
  width: 48px;
  margin-bottom: 2px;
}

.scope-fund-grid .fund-service-icon {
  width: 52px;
  padding: 11px;
  background: #FFFFFF;
  border-color: rgba(8, 74, 145, 0.12);
}

.scope-fund-grid .fund-service-row:nth-child(1) .fund-service-icon,
.scope-fund-grid .fund-service-row:nth-child(6) .fund-service-icon {
  width: 70px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.18);
}

.scope-fund-grid .fund-service-row:nth-child(2) .fund-service-icon,
.scope-fund-grid .fund-service-row:nth-child(5) .fund-service-icon {
  width: 48px;
  padding: 10px;
}

.scope-fund-grid .fund-service-row .fund-service-copy,
.scope-fund-grid .fund-service-row.is-visual-left .fund-service-copy {
  grid-column: 2;
  grid-row: 1;
}

.scope-fund-grid .fund-service-row:nth-child(2) .fund-service-copy,
.scope-fund-grid .fund-service-row:nth-child(5) .fund-service-copy {
  grid-column: 1;
  grid-row: 2;
}

.scope-fund-grid .fund-service-copy h2 {
  margin: 0 0 11px;
  font-size: clamp(18px, 1.55cqw, 23px);
}

.scope-fund-grid .fund-service-copy .scope-bullet-rows li {
  font-size: clamp(12px, 1cqw, 15px);
  line-height: 1.42;
}

.scope-fund-grid .fund-service-row:nth-child(1) h2,
.scope-fund-grid .fund-service-row:nth-child(1) .scope-bullet-rows li,
.scope-fund-grid .fund-service-row:nth-child(6) h2,
.scope-fund-grid .fund-service-row:nth-child(6) .scope-bullet-rows li {
  color: #FFFFFF;
}

.scope-fund-grid .fund-service-row:nth-child(1) .scope-bullet-rows li::before,
.scope-fund-grid .fund-service-row:nth-child(6) .scope-bullet-rows li::before {
  color: #FDBA59;
}

.service-scope-content.is-english .scope-fund-grid .fund-service-copy h2 {
  font-size: clamp(17px, 1.35cqw, 21px);
}

.service-scope-content.is-english .scope-fund-grid .fund-service-copy .scope-bullet-rows li {
  font-size: clamp(12px, 0.9cqw, 14px);
}

.service-scope-content.is-english .scope-title-block p,
html[lang="en"] .service-scope-hero p:not(.eyebrow) {
  white-space: normal;
}

html[lang="en"] .service-scope-hero p:not(.eyebrow) {
  max-width: 1080px;
}

/* Cayman governance: keep the service cards visually separated while leaving
   the whole composition open, without an enclosing frame. */
.scope-cayman-layout {
  display: grid;
  gap: clamp(10px, 1cqw, 14px);
  padding: 0;
  background: transparent;
  border: 0;
}

.cayman-primary-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 1cqw, 14px);
  min-height: 0;
}

.cayman-service-list {
  display: grid;
  gap: clamp(10px, 1cqw, 14px);
  min-height: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}

.cayman-primary-services {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 0;
}

.cayman-secondary-services {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 0;
}

.cayman-service-list li {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  align-items: center;
  justify-items: center;
  gap: clamp(10px, 1cqw, 14px);
  min-height: 180px;
  aspect-ratio: auto;
  padding: clamp(18px, 1.8cqw, 26px);
  overflow: hidden;
  text-align: center;
  background: transparent;
  border: 1px solid rgba(8, 74, 145, 0.13);
  border-radius: 0;
  box-shadow: 0 8px 22px rgba(8, 74, 145, 0.045);
}

.cayman-service-media {
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: #D9E4EC;
  border: 1px solid rgba(8, 74, 145, 0.13);
}

.cayman-service-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 35% center;
}

.cayman-service-icon {
  display: grid;
  place-items: center;
  width: clamp(42px, 3.8cqw, 54px);
  height: clamp(42px, 3.8cqw, 54px);
  padding: 0;
  color: #165A9E;
  background: transparent;
  border: 0;
}

.cayman-service-icon i {
  display: block;
  font-size: clamp(40px, 3.6cqw, 52px);
  line-height: 1;
}

.cayman-service-copy {
  min-width: 0;
  text-align: center;
}

.cayman-service-copy h2 {
  margin: 0 0 7px;
  color: var(--heading-ink);
  font-size: clamp(19px, 1.5cqw, 23px);
  font-weight: 700;
  line-height: 1.3;
}

/* Keep the four lower-card headings on one shared baseline. Reserving the
   description's two-line measure prevents longer copy from shifting its card
   contents upward when the complete group is vertically centred. */
html[lang="zh-CN"] .cayman-secondary-services .cayman-service-copy {
  display: grid;
  grid-template-rows: 1.3em 3em;
  row-gap: 7px;
  align-items: start;
}

html[lang="zh-CN"] .cayman-secondary-services .cayman-service-copy h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}

.cayman-service-copy p {
  max-width: 28ch;
  margin: 0;
  color: var(--service-pair-description);
  font-size: clamp(13px, 1cqw, 15px);
  line-height: 1.5;
}

.service-scope-content.is-english .cayman-service-copy h2 {
  font-size: clamp(20px, 1.5cqw, 24px);
}

.service-scope-content.is-english .cayman-service-copy p {
  font-size: clamp(14px, 1.06cqw, 16px);
}

@media (min-width: 961px) {
  .scope-cayman-layout {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }

  .cayman-primary-row,
  .cayman-service-list,
  .cayman-service-list li,
  .cayman-service-media,
  .cayman-service-media img {
    height: 100%;
    min-height: 0;
  }
}

@container (max-width: 900px) {
  .scope-fund-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scope-fund-grid .fund-service-row:nth-child(n) {
    grid-column: auto;
    grid-template-columns: 52px minmax(0, 1fr);
  }

  .scope-fund-grid .fund-service-row:nth-child(n) .fund-service-visual {
    grid-column: 1;
    grid-row: 1;
    width: 52px;
    margin: 0;
  }

  .scope-fund-grid .fund-service-row:nth-child(n) .fund-service-icon {
    width: 52px;
    padding: 11px;
  }

  .scope-fund-grid .fund-service-row:nth-child(n) .fund-service-copy {
    grid-column: 2;
    grid-row: 1;
  }

}

@container (max-width: 700px) {
  .cayman-primary-row {
    grid-template-columns: 1fr;
  }

  .cayman-primary-services {
    grid-row: 2;
    border: 0;
  }

  .cayman-service-list li {
    min-height: 180px;
    aspect-ratio: auto;
  }

  .cayman-service-media {
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 2.35 / 1;
  }

  .cayman-secondary-services {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@container (max-width: 560px) {
  .scope-fund-grid {
    grid-template-columns: 1fr;
  }

  .scope-fund-grid .fund-service-row:nth-child(n) {
    min-height: 0;
    padding: 20px;
  }

  .cayman-primary-services,
  .cayman-secondary-services {
    grid-template-columns: 1fr;
  }

  .cayman-service-list li:nth-child(n) {
    min-height: 0;
    aspect-ratio: auto;
    padding: 20px;
  }

  .cayman-service-media {
    aspect-ratio: 16 / 9;
  }
}

/* Fund governance final composition.
   The service canvas fills one viewport on desktop. All capability-card copy is
   centered, while one real fund image and one brand panel provide hierarchy. */
.service-scope-content.is-fund.detail-content {
  display: flex;
  flex-direction: column;
  min-height: calc(100dvh - 160px);
}

.service-scope-content.is-fund .scope-title-block {
  flex: 0 0 auto;
  margin-bottom: clamp(22px, 2cqw, 30px);
}

.service-scope-content.is-fund .scope-consult-button {
  border-radius: var(--button-radius);
}

.service-scope-content.is-fund .scope-fund-grid {
  display: grid;
  flex: 0 0 auto;
  grid-template-columns: repeat(16, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(150px, 1fr));
  gap: 0;
  min-height: 0;
}

.service-scope-content.is-fund .fund-service-media {
  grid-column: 1 / span 6;
  grid-row: 1 / span 3;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: #E8F1F7;
  border: 1px solid rgba(8, 74, 145, 0.13);
  border-radius: 0;
}

.service-scope-content.is-fund .fund-service-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 47% center;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-row,
.service-scope-content.is-fund .scope-fund-grid .fund-service-row.is-visual-left {
  position: relative;
  display: flex;
  grid-template-columns: none;
  grid-template-rows: none;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(5px, 0.48cqw, 7px);
  min-height: 0;
  padding: clamp(13px, 1.15cqw, 17px);
  overflow: hidden;
  color: #102A43;
  background: transparent;
  border: 1px solid rgba(8, 74, 145, 0.13);
  border-radius: 0;
  text-align: center;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-row:nth-of-type(1) {
  grid-column: 7 / span 5;
  grid-row: 1;
  background: transparent;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-row:nth-of-type(2) {
  grid-column: 12 / span 5;
  grid-row: 1;
  background: transparent;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-row:nth-of-type(3) {
  grid-column: 7 / span 5;
  grid-row: 2;
  background: transparent;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-row:nth-of-type(4) {
  grid-column: 12 / span 5;
  grid-row: 2;
  background: transparent;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-row:nth-of-type(5) {
  grid-column: 7 / span 5;
  grid-row: 3;
  background: transparent;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-row:nth-of-type(6) {
  display: flex;
  grid-column: 12 / span 5;
  grid-row: 3;
  background: transparent;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-row .fund-service-visual,
.service-scope-content.is-fund .scope-fund-grid .fund-service-row.is-visual-left .fund-service-visual {
  position: static;
  isolation: auto;
  order: 0;
  display: grid;
  grid-column: auto;
  grid-row: auto;
  place-items: center;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  min-height: 0;
  margin: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-visual::before,
.service-scope-content.is-fund .scope-fund-grid .fund-service-visual::after {
  display: none;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-icon {
  display: grid;
  place-items: center;
  width: 48px;
  aspect-ratio: 1;
  padding: 5px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-row .fund-service-copy,
.service-scope-content.is-fund .scope-fund-grid .fund-service-row.is-visual-left .fund-service-copy {
  order: 1;
  grid-column: auto;
  grid-row: auto;
  width: 100%;
  min-width: 0;
  padding: 0;
  text-align: center;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-copy h2 {
  height: 1.28em;
  margin: 0 0 clamp(5px, 0.48cqw, 7px);
  padding: 0;
  color: var(--heading-ink);
  font-size: clamp(19px, 1.35cqw, 22px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.28;
  text-align: center;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-copy h2::before {
  display: none;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-copy .scope-bullet-rows {
  justify-items: center;
  gap: clamp(2px, 0.28cqw, 4px);
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-copy .scope-bullet-rows li {
  display: block;
  width: 100%;
  padding: 0;
  color: var(--service-pair-description);
  font-size: clamp(13px, 0.98cqw, 14.5px);
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
}

.service-scope-content.is-fund .scope-fund-grid .fund-service-copy .scope-bullet-rows li::before {
  display: none;
}

.service-scope-content.is-fund.is-english .scope-fund-grid .fund-service-copy h2 {
  height: 2.56em;
  font-size: clamp(17px, 1.2cqw, 20px);
}

.service-scope-content.is-fund.is-english .scope-fund-grid .fund-service-copy .scope-bullet-rows li {
  font-size: clamp(12px, 0.86cqw, 13px);
}

@container (min-width: 901px) {
  .service-scope-content.is-fund:not(.is-english) .scope-fund-grid .fund-service-row:nth-of-type(6) .scope-bullet-rows li:last-child {
    width: calc(100% + 24px);
    margin-inline: -12px;
    font-size: clamp(11.5px, 0.86cqw, 12.5px);
    white-space: nowrap;
  }
}

@container (max-width: 900px) {
  .service-scope-content.is-fund.detail-content {
    min-height: 0;
  }

  .service-scope-content.is-fund .scope-fund-grid {
    flex: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    min-height: 0;
  }

  .service-scope-content.is-fund .fund-service-media {
    grid-column: 1 / -1;
    grid-row: auto;
    height: 260px;
  }

  .service-scope-content.is-fund .scope-fund-grid .fund-service-row:nth-of-type(n) {
    display: flex;
    grid-column: auto;
    grid-row: auto;
    min-height: 190px;
  }
}

@container (max-width: 560px) {
  .service-scope-content.is-fund .scope-fund-grid {
    grid-template-columns: 1fr;
  }

  .service-scope-content.is-fund .fund-service-media {
    height: 200px;
  }

  .service-scope-content.is-fund .scope-fund-grid .fund-service-row:nth-of-type(n) {
    min-height: 0;
    padding: 18px 16px;
  }
}

/* Formation and listed-company secretarial retain sharp-edged content
   surfaces while their consultation buttons follow the global CTA radius. */
.service-scope-content.is-formation .formation-column,
.service-scope-content.is-formation .formation-icon,
.service-scope-content.is-secretarial .secretary-why,
.service-scope-content.is-secretarial .secretary-duties-grid > div {
  border-radius: 0;
}

/* Accounting and tax: credential-led, scenario-based service composition. */
.service-scope-content.is-accounting {
  --accounting-ink: #102a43;
  --accounting-blue: #084a91;
  --accounting-blue-mid: #2368aa;
  --accounting-pale: #edf4fa;
  --accounting-line: rgba(8, 74, 145, 0.16);
}

.accounting-suite {
  display: grid;
  grid-template-columns: minmax(320px, 0.78fr) minmax(520px, 1.22fr);
  min-height: 660px;
  background: #f7fafc;
  border: 1px solid var(--accounting-line);
}

.accounting-trust {
  display: flex;
  flex-direction: column;
  padding: clamp(32px, 3.4cqw, 52px);
  color: #f7fbff;
  background:
    linear-gradient(155deg, rgba(35, 104, 170, 0.38), transparent 48%),
    var(--accounting-blue);
}

.accounting-trust-intro {
  padding-bottom: clamp(30px, 3cqw, 46px);
}

.accounting-trust-icon {
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  margin-bottom: 28px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.24);
}

.accounting-trust-icon .scope-icon {
  width: 40px;
  height: 40px;
  filter: brightness(0) invert(1);
}

.accounting-trust h2 {
  max-width: 10em;
  margin: 0;
  color: inherit;
  font-size: clamp(28px, 2.7cqw, 42px);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.16;
}

.accounting-trust-intro p {
  max-width: 32em;
  margin: 18px 0 0;
  color: rgba(247, 251, 255, 0.78);
  font-size: clamp(14px, 1.1cqw, 17px);
  line-height: 1.7;
}

.accounting-credentials {
  display: grid;
  margin: auto 0 0;
}

.accounting-credentials > div {
  display: grid;
  grid-template-columns: minmax(92px, 0.65fr) minmax(0, 1.35fr);
  gap: 22px;
  padding: 18px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.accounting-credentials dt,
.accounting-credentials dd {
  margin: 0;
}

.accounting-credentials dt {
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
}

.accounting-credentials dd {
  color: rgba(247, 251, 255, 0.74);
  font-size: 13px;
  line-height: 1.55;
}

.accounting-services {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(32px, 3.7cqw, 56px);
}

.accounting-services-head {
  max-width: 620px;
}

.accounting-services-head > span {
  display: block;
  margin-bottom: 12px;
  color: var(--accounting-blue);
  font-size: 13px;
  font-weight: 700;
}

.accounting-services-head h2 {
  margin: 0;
  color: var(--heading-ink);
  font-size: clamp(27px, 2.6cqw, 40px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.18;
}

.accounting-services-head p {
  margin: 14px 0 0;
  color: #64778a;
  font-size: 15px;
  line-height: 1.65;
}

.accounting-service-groups {
  display: grid;
  margin-top: clamp(28px, 3cqw, 44px);
  border-top: 1px solid var(--accounting-line);
}

.accounting-service-groups article {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: clamp(18px, 2cqw, 30px);
  padding: clamp(20px, 2.2cqw, 30px) 0;
  border-bottom: 1px solid var(--accounting-line);
}

.accounting-service-mark {
  display: grid;
  place-items: center;
  align-self: start;
  width: 48px;
  height: 48px;
  color: var(--accounting-blue);
  background: var(--accounting-pale);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.accounting-service-groups h3 {
  margin: 0 0 13px;
  color: var(--heading-ink);
  font-size: clamp(19px, 1.7cqw, 25px);
  font-weight: 700;
  line-height: 1.3;
}

.accounting-service-groups ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 28px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.accounting-service-groups li {
  position: relative;
  padding-left: 15px;
  color: #52677d;
  font-size: clamp(13px, 1cqw, 15px);
  line-height: 1.5;
}

.accounting-service-groups li::before {
  content: "";
  position: absolute;
  top: 0.68em;
  left: 0;
  width: 5px;
  height: 5px;
  background: var(--accounting-blue-mid);
}

.accounting-delivery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: auto;
  padding-top: clamp(26px, 2.8cqw, 40px);
}

.accounting-delivery span,
.accounting-delivery strong {
  position: relative;
  display: block;
  padding: 14px 18px;
  color: var(--accounting-blue);
  background: var(--accounting-pale);
  border-right: 1px solid rgba(8, 74, 145, 0.13);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}

.accounting-delivery strong {
  color: #ffffff;
  background: var(--accounting-blue);
  border-right: 0;
}

.service-scope-content.is-accounting.is-english .accounting-trust h2 {
  max-width: 12em;
  font-size: clamp(26px, 2.4cqw, 38px);
}

.service-scope-content.is-accounting.is-english .accounting-credentials > div {
  grid-template-columns: minmax(115px, 0.78fr) minmax(0, 1.22fr);
  gap: 18px;
}

.service-scope-content.is-accounting.is-english .accounting-services-head h2 {
  font-size: clamp(25px, 2.35cqw, 37px);
}

.service-scope-content.is-accounting.is-english .accounting-service-groups h3 {
  font-size: clamp(18px, 1.5cqw, 23px);
}

@container (max-width: 920px) {
  .accounting-suite {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .accounting-trust {
    display: grid;
    grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr);
    gap: 42px;
  }

  .accounting-trust-intro {
    padding-bottom: 0;
  }

  .accounting-credentials {
    margin-top: 0;
  }
}

@container (max-width: 620px) {
  .accounting-trust {
    display: block;
    padding: 28px 22px;
  }

  .accounting-trust-intro {
    padding-bottom: 28px;
  }

  .accounting-trust-icon {
    width: 58px;
    height: 58px;
    margin-bottom: 22px;
  }

  .accounting-trust h2 {
    font-size: 28px;
  }

  .accounting-credentials > div,
  .service-scope-content.is-accounting.is-english .accounting-credentials > div {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 16px 0;
  }

  .accounting-services {
    padding: 30px 22px 24px;
  }

  .accounting-services-head h2 {
    font-size: 27px;
  }

  .accounting-service-groups article {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    padding: 22px 0;
  }

  .accounting-service-mark {
    width: 42px;
    height: 42px;
    font-size: 12px;
  }

  .accounting-service-groups ul {
    grid-template-columns: 1fr;
  }

  .accounting-delivery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin-top: 4px;
    padding-top: 24px;
    background: #ffffff;
  }

  .accounting-delivery span,
  .accounting-delivery strong {
    border-right: 0;
  }
}

/* Outbound compliance: compact editorial split inspired by the supplied
   reference. The photographs are locally hosted Pexels assets so the page
   remains stable even when a third-party image URL changes. */

.service-scope-content.is-outbound .scope-title-block {
  margin-bottom: 22px;
}

.service-scope-content.is-outbound .scope-title-block h1 {
  color: var(--heading-ink);
  font-size: clamp(34px, 3.2cqw, 48px);
}

.service-scope-content.is-outbound .scope-title-block p {
  max-width: 960px;
  margin-top: 10px;
  color: var(--heading-accent);
  font-size: clamp(16px, 1.4cqw, 20px);
  line-height: 1.45;
}

.scope-outbound-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: clamp(22px, 2.2cqw, 28px);
}

.outbound-path {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.72fr);
  margin: 0;
  min-height: clamp(280px, 25cqw, 310px);
  overflow: hidden;
  color: #10283F;
  background: transparent;
  border: 1px solid rgba(8, 74, 145, 0.12);
}

.outbound-path.is-secondary {
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.55fr);
  margin-top: 0;
  color: #202D3D;
  background: transparent;
  border-color: rgba(8, 74, 145, 0.12);
}

.outbound-path-copy {
  display: grid;
  align-content: center;
  gap: clamp(20px, 2cqw, 26px);
  min-width: 0;
  padding: clamp(30px, 3cqw, 38px) clamp(26px, 3cqw, 40px);
  order: 1;
}

.outbound-path-media {
  position: relative;
  min-width: 0;
  min-height: clamp(280px, 25cqw, 310px);
  margin: 0;
  overflow: hidden;
  background: #DCE7F0;
  order: 2;
}

.outbound-path.is-secondary .outbound-path-media {
  order: 1;
}

.outbound-path.is-secondary .outbound-path-copy {
  order: 2;
}

.outbound-path-heading {
  display: block;
  min-height: 0;
  padding: 0;
  border-bottom: 0;
}

.outbound-path-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, rgba(8, 74, 145, 0.06), transparent 48%);
}

.outbound-path-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(280px, 25cqw, 310px);
  object-fit: cover;
}

.outbound-path:first-child .outbound-path-media img {
  object-position: 52% 42%;
}

.outbound-path.is-secondary .outbound-path-media img {
  object-position: 50% 58%;
}

.outbound-path-heading h2 {
  margin: 0;
  color: var(--heading-ink);
  font-size: clamp(28px, 2.45cqw, 36px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.16;
}

.outbound-path-heading p {
  max-width: 640px;
  margin: 12px 0 0;
  color: #53667A;
  font-size: clamp(16px, 1.42cqw, 19px);
  font-weight: 400;
  line-height: 1.65;
}

.outbound-path-services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 22px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.outbound-path-services li {
  position: relative;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  min-width: 0;
  padding: 0;
  text-align: left;
  border-bottom: 0;
}

.outbound-path:not(.is-secondary) .outbound-path-services li:last-child {
  grid-column: 1 / -1;
}

.outbound-path-services li::before {
  content: none;
}

.outbound-path-services span,
.outbound-path-services strong {
  min-width: 0;
  font-size: clamp(15px, 1.25cqw, 17px);
  line-height: 1.65;
}

.outbound-path-services span {
  color: #3471AD;
  font-weight: 400;
  white-space: nowrap;
}

.outbound-path-services strong {
  color: #25394D;
  font-weight: 400;
}

@media (min-width: 1200px) {
  html[lang="zh-CN"] .outbound-path-services strong {
    white-space: nowrap;
  }
}

.service-scope-content.is-english .outbound-path {
  min-height: 248px;
}

.service-scope-content.is-english .outbound-path-media,
.service-scope-content.is-english .outbound-path-media img {
  min-height: 248px;
}

.service-scope-content.is-english .outbound-path-services span,
.service-scope-content.is-english .outbound-path-services strong {
  font-size: clamp(13px, 1.05cqw, 15px);
}

.service-scope-content.is-english .outbound-path-services li {
  grid-template-columns: minmax(0, 1fr);
  gap: 2px;
}

.service-scope-content.is-english .outbound-path-services span {
  white-space: normal;
}

.service-scope-content.is-english .outbound-path-services strong {
  overflow-wrap: anywhere;
}

@container (min-width: 761px) and (max-width: 980px) {
  .outbound-path,
  .outbound-path.is-secondary {
    grid-template-columns: minmax(0, 1.58fr) minmax(230px, 0.7fr);
  }

  .outbound-path.is-secondary {
    grid-template-columns: minmax(230px, 0.7fr) minmax(0, 1.58fr);
  }

  .outbound-path-copy {
    gap: 18px;
    padding: 26px;
  }

  .outbound-path-services {
    gap: 10px 18px;
  }

  .outbound-path-services li {
    grid-template-columns: 1fr;
    gap: 1px;
  }
}

@media (max-width: 760px) {
  .service-scope-content.is-outbound .scope-title-block {
    margin-bottom: 24px;
  }

  .scope-outbound-grid {
    grid-auto-rows: auto;
    gap: 20px;
  }

  .outbound-path,
  .outbound-path.is-secondary {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .outbound-path-media,
  .outbound-path.is-secondary .outbound-path-media {
    min-height: 210px;
    order: 1;
  }

  .outbound-path-media img,
  .service-scope-content.is-english .outbound-path-media,
  .service-scope-content.is-english .outbound-path-media img {
    min-height: 210px;
  }

  .outbound-path-copy,
  .outbound-path.is-secondary .outbound-path-copy {
    gap: 18px;
    padding: 24px 20px 28px;
    order: 2;
  }

  .outbound-path-heading h2 {
    font-size: 26px;
  }

  .outbound-path-heading p {
    font-size: 16px;
  }

  .outbound-path-services span,
  .outbound-path-services strong {
    font-size: 15px;
  }

  .outbound-path-services {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .outbound-path:not(.is-secondary) .outbound-path-services li:last-child {
    grid-column: auto;
  }
}

/* Accounting and tax: the five services are the primary content. */
.service-scope-content.is-accounting .scope-consult-button {
  border-radius: var(--button-radius);
}

.accounting-suite {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
  min-height: 0;
  background: transparent;
  border: 0;
}

.accounting-primary {
  display: grid;
  grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.45fr);
  min-height: 0;
  overflow: hidden;
  background: #FFFFFF;
  border: 1px solid rgba(8, 74, 145, 0.16);
}

.accounting-media {
  position: relative;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: #DCE7F0;
}

.accounting-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(8, 74, 145, 0.03), rgba(8, 74, 145, 0.18)),
    linear-gradient(90deg, transparent 62%, rgba(8, 74, 145, 0.14));
}

.accounting-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: 53% center;
  filter: saturate(0.72) contrast(0.98);
}

.accounting-service-panel {
  min-width: 0;
  padding: clamp(30px, 4cqw, 52px);
  padding-bottom: 24px;
}

.accounting-services-head {
  max-width: 700px;
  margin-bottom: 22px;
}

.accounting-services-head h2 {
  margin: 0;
  color: var(--heading-ink);
  font-size: clamp(26px, 2.35cqw, 34px);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.16;
}

.accounting-services-head p {
  max-width: 650px;
  margin: 10px 0 0;
  color: #53667A;
  font-size: clamp(15px, 1.15cqw, 17px);
  font-weight: 400;
  line-height: 1.55;
}

.accounting-service-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.accounting-service-list li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 18px;
  min-width: 0;
  padding: 18px 0;
  border-top: 1px solid rgba(8, 74, 145, 0.16);
}

.accounting-service-list li > span {
  color: var(--accounting-blue);
  font-size: 16px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.6;
}

.accounting-service-list h3 {
  margin: 0;
  color: var(--heading-ink);
  font-size: clamp(19px, 1.5cqw, 22px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.35;
}

.accounting-service-list p {
  max-width: 720px;
  margin: 4px 0 0;
  color: #52657A;
  font-size: clamp(14px, 1.15cqw, 16px);
  font-weight: 400;
  line-height: 1.55;
}

.service-scope-content.is-english .accounting-primary {
  min-height: 0;
}

.service-scope-content.is-english .accounting-media,
.service-scope-content.is-english .accounting-media img {
  min-height: 0;
}

.service-scope-content.is-english .accounting-service-list li {
  padding-block: 17px;
}

@container (min-width: 761px) and (max-width: 1040px) {
  .accounting-primary {
    grid-template-columns: minmax(250px, 0.7fr) minmax(0, 1.5fr);
  }

  .accounting-service-panel {
    padding: 30px;
  }

  .accounting-service-list li {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    padding-block: 15px;
  }

}

@media (max-width: 760px) {
  .accounting-suite {
    gap: 18px;
  }

  .accounting-primary {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .accounting-media,
  .accounting-media img,
  .service-scope-content.is-english .accounting-media,
  .service-scope-content.is-english .accounting-media img {
    min-height: 260px;
    max-height: 300px;
  }

  .accounting-media img {
    object-position: 50% 46%;
  }

  .accounting-service-panel {
    padding: 28px 20px 18px;
  }

  .accounting-services-head {
    margin-bottom: 20px;
  }

  .accounting-service-list li,
  .service-scope-content.is-english .accounting-service-list li {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding-block: 16px;
  }

}

/* Shared desktop canvas for the six service-scope modules.
   Entity formation is the visual height reference. The container-based value
   follows its measured height from standard desktop to wide-monitor layouts. */
@media (min-width: 961px) {
  .service-scope-content > [data-service-scope] {
    --scope-desktop-canvas-height: clamp(681px, 56cqw, 770px);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: var(--scope-desktop-canvas-height);
    min-height: 0;
  }

  .service-scope-content.is-english > [data-service-scope] {
    --scope-desktop-canvas-height: clamp(760px, 62cqw, 880px);
  }

  .service-scope-content.is-fund.detail-content {
    display: block;
    min-height: 0;
  }

  .service-scope-content .scope-formation-grid,
  .service-scope-content .scope-outbound-grid,
  .service-scope-content .scope-fund-grid,
  .service-scope-content .accounting-suite,
  .service-scope-content .scope-cayman-layout {
    height: 100%;
    min-height: 0;
  }

  /* Outbound compliance: two equal story rows share the available canvas. */
  .service-scope-content.is-outbound .scope-outbound-grid {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }

  .service-scope-content.is-outbound .outbound-path,
  .service-scope-content.is-outbound .outbound-path-media,
  .service-scope-content.is-outbound .outbound-path-media img {
    height: 100%;
    min-height: 0;
  }

  .service-scope-content.is-outbound .outbound-path-copy {
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
    gap: clamp(18px, 1.7cqw, 23px);
    min-height: 0;
    padding: clamp(24px, 2.35cqw, 32px) clamp(24px, 2.7cqw, 36px);
  }

  .service-scope-content.is-outbound .outbound-path-heading p {
    margin-top: 8px;
    line-height: 1.55;
  }

  .service-scope-content.is-outbound .outbound-path-services {
    grid-auto-rows: minmax(0, 1fr);
    align-items: stretch;
    gap: 8px 18px;
    min-height: 0;
  }

  .service-scope-content.is-outbound .outbound-path-services li {
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
    gap: clamp(8px, 0.8cqw, 12px);
  }

  .service-scope-content.is-outbound .outbound-path-services span,
  .service-scope-content.is-outbound .outbound-path-services strong {
    line-height: 1.5;
  }

  .service-scope-content.is-outbound.is-english .outbound-path-copy {
    gap: clamp(10px, 1cqw, 14px);
    padding: clamp(18px, 1.7cqw, 24px) clamp(20px, 2.2cqw, 30px);
  }

  .service-scope-content.is-outbound.is-english .outbound-path-heading h2 {
    font-size: clamp(24px, 2.1cqw, 32px);
  }

  .service-scope-content.is-outbound.is-english .outbound-path-heading {
    min-height: 0;
  }

  .service-scope-content.is-outbound.is-english .outbound-path-heading p {
    margin-top: 6px;
    font-size: clamp(14px, 1.15cqw, 16px);
    line-height: 1.45;
  }

  .service-scope-content.is-outbound.is-english .outbound-path-services {
    gap: 6px 14px;
  }

  .service-scope-content.is-outbound.is-english .outbound-path-services li {
    display: block;
  }

  .service-scope-content.is-outbound.is-english .outbound-path-services span,
  .service-scope-content.is-outbound.is-english .outbound-path-services strong {
    display: inline;
    white-space: normal;
  }

  .service-scope-content.is-outbound.is-english .outbound-path-services span {
    margin-right: 8px;
  }

  .service-scope-content.is-outbound.is-english .outbound-path-services span,
  .service-scope-content.is-outbound.is-english .outbound-path-services strong {
    font-size: clamp(13px, 1cqw, 14px);
    line-height: 1.4;
  }

  /* Fund services: remove the viewport-height exception and fill three rows. */
  .service-scope-content.is-fund .scope-fund-grid {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }

  .service-scope-content.is-fund .fund-service-media,
  .service-scope-content.is-fund .scope-fund-grid .fund-service-row:nth-of-type(n) {
    min-height: 0;
  }

  /* Accounting and tax: keep the introduction stable, then let the five
     services share the remaining panel height evenly. */
  .service-scope-content.is-accounting .accounting-primary {
    height: 100%;
    min-height: 0;
  }

  .service-scope-content.is-accounting .accounting-service-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: clamp(16px, 1.45cqw, 20px);
    height: 100%;
    min-height: 0;
    padding: clamp(22px, 2.3cqw, 30px) clamp(26px, 3.2cqw, 44px) clamp(20px, 1.8cqw, 24px);
  }

  .service-scope-content.is-accounting .accounting-services-head {
    margin-bottom: 0;
  }

  .service-scope-content.is-accounting .accounting-service-list {
    display: grid;
    grid-template-rows: repeat(5, minmax(0, 1fr));
    min-height: 0;
  }

  .service-scope-content.is-accounting .accounting-service-list li,
  .service-scope-content.is-accounting.is-english .accounting-service-list li {
    align-items: center;
    min-height: 0;
    padding-block: clamp(11px, 1.05cqw, 14px);
  }

  /* Listed-company secretarial: reserve one rationale row and let the four
     responsibility cards share the remaining canvas height. */
  .service-scope-content.is-secretarial > [data-service-scope] {
    grid-template-rows:
      auto
      clamp(236px, 20cqw, 280px)
      minmax(0, 1fr);
  }

  .service-scope-content.is-secretarial .secretary-why,
  .service-scope-content.is-secretarial.is-english .secretary-why {
    height: 100%;
    min-height: 0;
  }

  .service-scope-content.is-secretarial .secretary-duties {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 0;
    margin-top: clamp(16px, 1.4cqw, 20px);
  }

  .service-scope-content.is-secretarial .secretary-duties .secretary-duties-label {
    margin-bottom: clamp(12px, 1.15cqw, 16px);
  }

  .service-scope-content.is-secretarial .secretary-duties-grid {
    min-height: 0;
  }

  .service-scope-content.is-secretarial .secretary-duties-grid > div,
  .service-scope-content.is-secretarial .secretary-duties-grid > div:first-child {
    height: 100%;
    min-height: 0;
    padding: clamp(18px, 1.7cqw, 24px);
  }

}

/* Narrow desktop: preserve the unified canvas without clipping longer
   accounting copy as the photograph and text columns become tighter. */
@media (min-width: 961px) and (max-width: 1120px) {
  .service-scope-content.is-outbound .outbound-path {
    grid-template-columns: minmax(0, 1.85fr) minmax(170px, 0.55fr);
  }

  .service-scope-content.is-outbound .outbound-path.is-secondary {
    grid-template-columns: minmax(170px, 0.55fr) minmax(0, 1.85fr);
  }

  .service-scope-content.is-outbound .outbound-path-copy {
    gap: 12px;
    padding: 16px 18px;
  }

  .service-scope-content.is-outbound .outbound-path-heading h2 {
    font-size: 26px;
  }

  .service-scope-content.is-outbound .outbound-path-heading p {
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.4;
  }

  .service-scope-content.is-outbound .outbound-path-services {
    gap: 6px 12px;
  }

  .service-scope-content.is-outbound .outbound-path-services span,
  .service-scope-content.is-outbound .outbound-path-services strong {
    font-size: 14px;
    line-height: 1.45;
  }

  .service-scope-content.is-outbound.is-english .outbound-path-copy {
    gap: 6px;
    padding: 12px 14px;
  }

  .service-scope-content.is-outbound.is-english .outbound-path-heading h2 {
    font-size: 22px;
  }

  .service-scope-content.is-outbound.is-english .outbound-path-heading p {
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.35;
  }

  .service-scope-content.is-outbound.is-english .outbound-path-services {
    gap: 6px 10px;
  }

  .service-scope-content.is-outbound.is-english .outbound-path-services li {
    display: block;
  }

  .service-scope-content.is-outbound.is-english .outbound-path-services span,
  .service-scope-content.is-outbound.is-english .outbound-path-services strong {
    display: inline;
    font-size: 11.5px;
    line-height: 1.3;
    white-space: normal;
  }

  .service-scope-content.is-outbound.is-english .outbound-path-services span {
    margin-right: 6px;
  }

  .service-scope-content.is-accounting .accounting-primary {
    grid-template-columns: minmax(210px, 0.58fr) minmax(0, 1.72fr);
  }

  .service-scope-content.is-accounting .accounting-service-panel {
    gap: 12px;
    padding: 18px 20px 16px;
  }

  .service-scope-content.is-accounting .accounting-services-head h2,
  .service-scope-content.is-accounting.is-english .accounting-services-head h2 {
    font-size: 24px;
  }

  .service-scope-content.is-accounting .accounting-services-head p {
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.4;
  }

  .service-scope-content.is-accounting .accounting-service-list li,
  .service-scope-content.is-accounting.is-english .accounting-service-list li {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
    padding-block: 4px;
  }

  .service-scope-content.is-accounting .accounting-service-list li > span {
    font-size: 14px;
  }

  .service-scope-content.is-accounting .accounting-service-list h3 {
    font-size: 18px;
    line-height: 1.25;
  }

  .service-scope-content.is-accounting .accounting-service-list p {
    margin-top: 2px;
    font-size: 14px;
    line-height: 1.4;
  }

  .service-scope-content.is-fund .scope-fund-grid .fund-service-row:nth-of-type(n) {
    gap: 4px;
    padding: 8px 10px;
  }

  .service-scope-content.is-fund .scope-fund-grid .fund-service-row:nth-of-type(n) .fund-service-visual {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  .service-scope-content.is-fund .scope-fund-grid .fund-service-icon {
    width: 36px;
    padding: 3px;
  }

  .service-scope-content.is-fund .scope-fund-grid .fund-service-copy h2 {
    height: 1.3em;
    margin-bottom: 3px;
    font-size: 18px;
    line-height: 1.2;
  }

  .service-scope-content.is-fund .scope-fund-grid .fund-service-copy .scope-bullet-rows {
    gap: 1px;
  }

  .service-scope-content.is-fund .scope-fund-grid .fund-service-copy .scope-bullet-rows li {
    font-size: 13px;
    line-height: 1.3;
  }

  .service-scope-content.is-fund.is-english .scope-fund-grid .fund-service-copy h2 {
    height: 2.4em;
    font-size: 15px;
    line-height: 1.2;
  }

  .service-scope-content.is-fund.is-english .scope-fund-grid .fund-service-copy .scope-bullet-rows li {
    font-size: 10.5px;
    line-height: 1.3;
  }
}

/* Listed-company secretarial responsibilities.
   Keep the four workstreams visually equal and let spacing, rather than card
   fills, carry the hierarchy. */
.service-scope-content.is-secretarial {
  --secretary-blue: #084a91;
  --secretary-copy: #37465a;
  --secretary-line: rgba(8, 74, 145, 0.16);
}

.service-scope-content.is-secretarial .secretary-duties {
  display: block;
  min-height: 0;
  margin-top: clamp(36px, 3.6cqw, 50px);
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.service-scope-content.is-secretarial .secretary-duties-core {
  display: block;
  width: auto;
  aspect-ratio: auto;
}

.service-scope-content.is-secretarial .secretary-duties-core-ring {
  display: flex;
  align-items: center;
  gap: 16px;
  width: auto;
  height: auto;
  padding: 0 0 clamp(26px, 2.7cqw, 34px);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.service-scope-content.is-secretarial .secretary-duties-core-icon {
  flex: 0 0 auto;
  width: clamp(38px, 4.2cqw, 48px);
  height: clamp(38px, 4.2cqw, 48px);
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.service-scope-content.is-secretarial .secretary-duties-core-icon .scope-icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.service-scope-content.is-secretarial .secretary-duties-core .secretary-duties-label {
  display: block;
  min-height: 0;
  margin: 0;
  padding: 0;
  color: var(--heading-ink);
  background: transparent;
  font-size: clamp(26px, 2.5cqw, 34px);
  font-weight: 700;
  line-height: 1.25;
  text-align: left;
}

.service-scope-content.is-secretarial .secretary-duties-connector {
  display: none;
}

.service-scope-content.is-secretarial .secretary-duties-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: none;
  align-items: stretch;
  gap: 0;
  min-height: 0;
  padding: 0;
}

.service-scope-content.is-secretarial .secretary-duty-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  align-content: start;
  gap: 0;
  min-height: 0;
  padding: clamp(14px, 1.4cqw, 18px) clamp(24px, 2.6cqw, 36px);
  background: transparent;
  border: 0;
  border-left: 1px solid var(--secretary-line);
  border-radius: 0;
}

.service-scope-content.is-secretarial .secretary-duty-card:first-child {
  padding-left: 0;
  border-left: 0;
}

.service-scope-content.is-secretarial .secretary-duty-card:last-child {
  padding-right: 0;
}

.service-scope-content.is-secretarial .secretary-duty-card h3 {
  grid-row: 2;
  margin: 22px 0 16px;
  padding: 0;
  color: var(--heading-ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: clamp(19px, 1.75cqw, 24px);
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  white-space: normal;
}

.service-scope-content.is-secretarial .secretary-duty-card .scope-bullet-rows {
  display: grid;
  grid-row: 3;
  align-content: start;
  gap: 12px;
  width: 100%;
  max-width: none;
  margin: 0;
  white-space: normal;
}

.service-scope-content.is-secretarial .secretary-duty-card .scope-bullet-rows li {
  padding-left: 17px;
  color: var(--secretary-copy);
  font-size: clamp(14px, 1.2cqw, 16px);
  line-height: 1.6;
}

.service-scope-content.is-secretarial .secretary-duty-card .scope-bullet-rows li::before {
  left: 0;
  color: var(--secretary-blue);
}

.service-scope-content.is-secretarial .secretary-duty-icon {
  grid-row: 1;
  width: clamp(44px, 4.8cqw, 56px);
  height: clamp(44px, 4.8cqw, 56px);
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.service-scope-content.is-secretarial .secretary-duty-icon .scope-icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.service-scope-content.is-secretarial.is-english .secretary-duties-core .secretary-duties-label {
  font-size: clamp(24px, 2.3cqw, 32px);
}

.service-scope-content.is-secretarial.is-english .secretary-duty-card h3 {
  min-height: 2.6em;
  font-size: clamp(17px, 1.55cqw, 21px);
}

.service-scope-content.is-secretarial.is-english .secretary-duty-card .scope-bullet-rows li {
  font-size: clamp(13px, 1.05cqw, 15px);
}

@container (max-width: 900px) {
  .service-scope-content.is-secretarial .secretary-duties-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 36px;
  }

  .service-scope-content.is-secretarial .secretary-duty-card {
    padding: 16px 26px;
  }

  .service-scope-content.is-secretarial .secretary-duty-card:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }

  .service-scope-content.is-secretarial .secretary-duty-card:nth-child(even) {
    padding-right: 0;
  }

  .service-scope-content.is-secretarial .secretary-duty-card:nth-child(n + 3) {
    padding-top: 36px;
    border-top: 1px solid var(--secretary-line);
  }
}

@container (max-width: 620px) {
  .service-scope-content.is-secretarial .secretary-duties-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .service-scope-content.is-secretarial .secretary-duty-card,
  .service-scope-content.is-secretarial.is-english .secretary-duty-card {
    padding: 24px 0;
    border-top: 1px solid var(--secretary-line);
    border-left: 0;
  }

  .service-scope-content.is-secretarial .secretary-duty-card:first-child,
  .service-scope-content.is-secretarial.is-english .secretary-duty-card:first-child {
    padding-top: 8px;
    border-top: 0;
  }

  .service-scope-content.is-secretarial .secretary-duty-icon {
    width: 48px;
    height: 48px;
  }

  .service-scope-content.is-secretarial.is-english .secretary-duty-card h3 {
    min-height: 0;
  }
}

/* Display-scaling compatibility: let long Chinese/English copy wrap instead of
   being clipped when the service canvas becomes narrow. */
.scope-title-block p,
.outbound-path-services strong,
.formation-column.is-primary .scope-pill-rows strong {
  white-space: normal;
  overflow-wrap: anywhere;
}

.formation-media img {
  display: block;
}

@container (max-width: 900px) {
  .service-scope-content.is-secretarial .secretary-why,
  .service-scope-content.is-secretarial.is-english .secretary-why {
    height: auto;
    min-height: 0;
  }
}

@media (min-width: 961px) {
  .service-scope-content.is-secretarial.is-english > [data-service-scope] {
    grid-template-rows:
      auto
      clamp(270px, 24cqw, 320px)
      minmax(0, 1fr);
  }
}

/* Fund-services display scaling.
   Keep the capability grid's 960px threshold so the photo and fixed-height
   cards do not compete for narrow desktop grid tracks after browser zooming. */
@media (min-width: 961px) {
  .service-scope-content.is-fund > [data-service-scope] {
    height: auto;
    min-height: var(--scope-desktop-canvas-height);
  }

  .service-scope-content.is-fund .scope-fund-grid {
    height: auto;
    grid-template-rows: repeat(3, minmax(194px, auto));
  }
}

@media (max-width: 960px) {
  .service-scope-content.is-fund > [data-service-scope] {
    display: grid;
    grid-template-rows: auto auto;
    height: auto;
    min-height: 0;
  }

  .service-scope-content.is-fund .scope-fund-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    height: auto;
  }

  .service-scope-content.is-fund .fund-service-media {
    grid-column: 1 / -1;
    grid-row: auto;
    width: 100%;
    height: auto;
    min-height: clamp(220px, 38vw, 320px);
    aspect-ratio: 16 / 6;
  }

  .service-scope-content.is-fund .scope-fund-grid .fund-service-row:nth-of-type(n),
  .service-scope-content.is-fund .scope-fund-grid .fund-service-row.is-visual-left:nth-of-type(n) {
    grid-column: auto;
    grid-row: auto;
    min-height: 196px;
    overflow: visible;
  }
}

@media (max-width: 560px) {
  .service-scope-content.is-fund .scope-fund-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .service-scope-content.is-fund .fund-service-media {
    min-height: 190px;
    aspect-ratio: 16 / 9;
  }

  .service-scope-content.is-fund .scope-fund-grid .fund-service-row:nth-of-type(n),
  .service-scope-content.is-fund .scope-fund-grid .fund-service-row.is-visual-left:nth-of-type(n) {
    min-height: 0;
  }
}

/* Paired service labels follow the fund-card type hierarchy: charcoal labels,
   blue-grey descriptions, 700/400 weights, and each layout's existing size. */
.service-scope-content {
  --service-pair-label: var(--heading-ink);
  --service-pair-description: #37465A;
}

.service-scope-content.is-formation .formation-column.is-primary .scope-pill-rows li,
.service-scope-content.is-formation .formation-support .scope-pill-rows li,
.service-scope-content.is-fund .scope-fund-grid .fund-service-copy .scope-bullet-rows li,
.service-scope-content.is-accounting .accounting-service-list p,
.service-scope-content.is-secretarial .secretary-why li,
.service-scope-content .cayman-service-copy p {
  color: var(--service-pair-description);
  font-family: inherit;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}

.service-scope-content.is-formation .formation-column.is-primary .scope-pill-rows strong,
.service-scope-content.is-outbound .outbound-path-services span,
.service-scope-content.is-fund .fund-service-copy h2,
.service-scope-content.is-accounting .accounting-service-list h3,
.service-scope-content.is-secretarial .secretary-why strong,
.service-scope-content .cayman-service-copy h2 {
  color: var(--service-pair-label);
  font-family: inherit;
  font-style: normal;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.service-scope-content.is-outbound .outbound-path-services strong {
  color: var(--service-pair-description);
  font-family: inherit;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}



/* Homepage desktop width and density refinements.
   This module intentionally loads last so homepage-only rules do not alter
   the shared service-detail or responsive layouts. */

.home-page {
  --home-content-width: var(--site-content-width);
  --home-content-gutter: var(--site-inline-gutter);
}

@media (min-width: 1121px) {
  .home-page .hero {
    padding-left: var(--home-content-gutter);
  }

  .home-page .hero-content {
    width: 100%;
    max-width: var(--home-content-width);
    margin-inline: auto;
  }

  /* Shared homepage canvas. */
  .home-page .section {
    padding-inline: var(--home-content-gutter);
  }

  .home-page .services-overview,
  .home-page .why-ics > .section-heading,
  .home-page .why-grid,
  .home-page .solutions-stage,
  .home-page .insights-section > .section-heading {
    width: 100%;
    max-width: var(--home-content-width);
    margin-inline: auto;
  }

  /* Trust: the centered map comes first; the four metrics form one quiet,
     borderless row underneath it. */
  .home-page .trust-band {
    min-height: 0;
    padding: clamp(34px, 3.4vw, 56px) var(--home-content-gutter) clamp(30px, 3vw, 48px);
  }

  .home-page .trust-inner {
    grid-template-columns: 1fr;
    gap: clamp(10px, 1vw, 18px);
    width: 100%;
    max-width: var(--home-content-width);
    margin-inline: auto;
  }

  .home-page .trust-inner .trust-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(10px, 1vw, 16px);
    width: 100%;
    margin-inline: auto;
    order: 2;
  }

  .home-page .trust-card {
    --trust-card-padding-top: 14px;
    --trust-card-padding-bottom: 15px;
    min-height: 82px;
    padding-right: clamp(14px, 1.2vw, 20px);
    padding-left: clamp(18px, 1.6vw, 26px);
    background: #f4f5f6;
    border: 0;
    box-shadow: none;
  }

  .home-page .trust-card::before {
    top: 0;
    bottom: 0;
  }

  .home-page .trust-card strong {
    font-size: clamp(36px, 2.8vw, 48px);
    font-weight: 500;
  }

  .home-page .trust-card span {
    font-size: 14px;
    font-weight: 400;
  }

  .home-page .presence-map {
    width: 100%;
    max-width: var(--home-content-width);
    margin-inline: auto;
    order: 1;
  }

  .home-page .trust-band + .why-ics {
    padding-top: clamp(64px, 5vw, 80px);
  }

  /* Services: keep the unified width while restoring the original vertical
     proportion of the selected content panel and its photograph. */
  .home-page .services-grid-section {
    padding-block: clamp(68px, 5.5vw, 88px);
  }

  .home-page .services-grid-section .section-heading {
    max-width: 820px;
    margin-bottom: 32px;
  }

  .home-page .services-grid-section .section-heading p:not(.eyebrow) {
    max-width: 820px;
  }

  .home-page .service-overview-tabs {
    gap: 0;
  }

  .home-page .service-overview-tab {
    min-height: 98px;
    gap: 6px;
    padding: 10px 8px;
    box-shadow: 0 8px 20px rgba(8, 74, 145, 0.06);
  }

  .home-page .service-overview-tab + .service-overview-tab {
    border-left-color: rgba(8, 74, 145, 0.08);
  }

  .home-page .service-overview-icon {
    --service-overview-icon-size: 40px;
  }

  .home-page .service-overview-panel {
    height: 420px;
    min-height: 420px;
  }

  .home-page .service-overview-copy {
    padding: 38px 34px 78px;
  }

  .home-page .service-overview-copy h3 {
    margin-bottom: 10px;
    font-size: clamp(27px, 2.2vw, 34px);
  }

  .home-page .service-overview-copy > p,
  .home-page .service-overview-copy dd {
    font-size: 15px;
  }

  .home-page .service-overview-copy dl {
    gap: 7px;
    margin-block: 14px 16px;
  }

  .home-page .service-overview-copy dt {
    font-size: 15px;
  }

  .home-page .service-overview-cta {
    inset-inline-start: 34px;
    bottom: 22px;
    font-size: 16px;
  }

  .home-page .service-overview-media {
    height: 100%;
    min-height: 0;
  }

  html[lang^="en"] .home-page .service-overview-tab {
    min-height: 112px;
  }

  html[lang^="en"] .home-page .service-overview-panel {
    height: 430px;
    min-height: 430px;
  }

  /* Why ICS follows the same canvas without flattening the photography. */
  .home-page .why-ics {
    padding-block: clamp(68px, 5.5vw, 88px);
    background: transparent;
  }

  .home-page .services-grid-section + .why-ics {
    background: transparent;
  }

  .home-page .why-grid {
    gap: clamp(14px, 1.2vw, 20px);
  }

  .home-page .why-card-media {
    flex-basis: clamp(300px, 21vw, 360px);
  }

  .home-page .why-card-body {
    gap: 9px;
    padding: 18px 20px 20px;
  }

  .home-page .why-card h3 {
    font-size: 18px;
  }

  .home-page .why-card p {
    font-size: 14px;
    line-height: 1.62;
  }

  /* Solutions keep the existing card dimensions. Only the visible carousel
     canvas is narrowed, with a flush left edge so the first card is complete. */
  .home-page .solutions-tabs {
    padding-inline: var(--home-content-gutter);
    background: transparent;
  }

  .home-page .solution-carousel-viewport {
    margin-inline: 0;
    padding: 8px 0;
  }

  /* Keep the stories on the same outer canvas as the section heading. */
  .home-page .insights-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: var(--home-content-width);
    margin-inline: auto;
  }

  .home-page .insight-card-body {
    min-height: 230px;
    padding: 22px;
  }
}

@media (min-width: 1121px) and (max-height: 820px) {
  .home-page .trust-band {
    padding-block: 28px 24px;
  }
}

@media (max-width: 1120px) {
  .home-page .trust-inner .trust-metrics {
    gap: 10px;
    order: 2;
  }

  .home-page .trust-card {
    background: #f4f5f6;
    border: 0;
    box-shadow: none;
  }

  .home-page .presence-map {
    order: 1;
  }

  .home-page .why-ics,
  .home-page .services-grid-section + .why-ics,
  .home-page .solutions-tabs {
    background: transparent;
  }

  .home-page .insights-grid {
    grid-template-columns: 1fr;
  }
}

/* Keep adjacent homepage modules visually connected. Each section contributes
   one compact side of the gap, without divider lines between content groups. */
.home-page .services-grid-section,
.home-page .why-ics,
.home-page .partner-logo-section,
.home-page .solutions-tabs,
.home-page .insights-section {
  padding-top: clamp(48px, 4vw, 64px);
  padding-bottom: clamp(48px, 4vw, 64px);
}

.home-page .services-grid-section + .why-ics {
  padding-top: clamp(48px, 4vw, 64px);
}

.home-page .insights-section {
  border-top: 0;
  border-bottom: 0;
}



/* Shared interaction roles for business-scope cards.
   Component styles own layout; this module owns hover and focus feedback. */

.business-card--short,
.business-card--long {
  --business-card-accent: #084A91;
  --business-card-shadow: rgba(8, 74, 145, 0.28);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease,
    background-color 0.2s ease;
}

@media (hover: hover) {
  .business-card--short:hover,
  .business-card--short:focus-within {
    background: #FFFFFF;
    border-color: var(--business-card-accent);
    box-shadow: 0 0 0 1px var(--business-card-accent);
  }

  .business-card--long:hover,
  .business-card--long:focus-within {
    background: #FFFFFF;
    border-color: var(--business-card-accent);
    box-shadow:
      0 0 0 1px var(--business-card-accent),
      0 18px 34px -20px var(--business-card-shadow);
    transform: translateY(-2px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .business-card--short,
  .business-card--long {
    transition: none;
  }

  .business-card--long:hover,
  .business-card--long:focus-within {
    transform: none;
  }
}



/*
 * Shared mobile type scale.
 *
 * This layer intentionally loads after the page modules. Several standalone
 * page stylesheets load after styles.css, so the role-based rules use
 * !important to keep the mobile hierarchy consistent across every page while
 * leaving tablet and desktop typography untouched.
 */

@media (max-width: 767px) {
  :root {
    --mobile-type-display: 32px;
    --mobile-type-section: 27px;
    --mobile-type-section-label: 22px;
    --mobile-type-subsection: 25px;
    --mobile-type-card-title: 18px;
    --mobile-type-lead: 15px;
    --mobile-type-body: 14px;
    --mobile-type-meta: 12px;

    --bilingual-eyebrow-size: var(--mobile-type-section-label);
    --bilingual-title-size: var(--mobile-type-section);
    --business-overview-intro-size-mobile: var(--mobile-type-body);
    --business-card-title-size: var(--mobile-type-card-title);
    --business-card-body-size: 13px;
  }

  body {
    font-size: var(--mobile-type-body);
    line-height: 1.6;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body main :is(p, li) {
    font-size: var(--mobile-type-body) !important;
    line-height: 1.65;
  }

  body main h1 {
    font-size: var(--mobile-type-display) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.035em;
  }

  body main h2 {
    font-size: var(--mobile-type-subsection) !important;
    line-height: 1.28 !important;
    letter-spacing: -0.025em;
  }

  body main h3 {
    font-size: var(--mobile-type-card-title) !important;
    line-height: 1.38 !important;
  }

  body main h4 {
    font-size: var(--mobile-type-body) !important;
    line-height: 1.45 !important;
  }

  /* Homepage hero and shared inner-page banners. */
  body main :is(#hero-title, .hero-carousel-title) {
    font-size: var(--mobile-type-display) !important;
    line-height: 1.22 !important;
  }

  html[lang^="en"] body.home-page main :is(#hero-title, .hero-carousel-title) {
    font-size: 29px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.025em;
  }

  body main :is(.hero-slogan, .hero-copy, .article-header p) {
    font-size: var(--mobile-type-body) !important;
  }

  body main :is(.detail-hero .eyebrow, .plain-page .eyebrow) {
    font-size: var(--mobile-type-lead) !important;
    line-height: 1.4 !important;
  }

  /* Primary bilingual section headings keep their paired visual rhythm. */
  body.home-page main :is(
    .section-heading > .eyebrow,
    .solutions-intro > .eyebrow
  ),
  body.detail-page main :is(
    .team-section-heading > p,
    .about-kicker,
    .timeline-section .about-section-heading > div > .eyebrow,
    .about-credentials-kicker,
    .about-section .ecosystem-heading > p,
    .lifecycle-kicker,
    .conduct-title,
    .formation-eyebrow,
    .outbound-eyebrow,
    .fund-eyebrow,
    .accounting-eyebrow,
    .secretarial-eyebrow,
    .formation-jurisdiction-eyebrow
  ) {
    font-size: var(--mobile-type-section-label) !important;
    line-height: 1.25 !important;
  }

  body.home-page main :is(
    .section-heading h2,
    .solutions-intro h2
  ),
  body.detail-page main :is(
    .team-section-heading > h2,
    .about-lead h2,
    .timeline-section .about-section-heading h2,
    .about-credentials-copy > h2,
    .about-section .ecosystem-heading h2,
    .lifecycle-heading h2,
    .conduct-intro h2,
    .formation-overview-intro h1,
    .formation-section-head h2,
    .outbound-overview-intro h1,
    .outbound-section-head h2,
    .fund-overview-intro h1,
    .fund-section-head h2,
    .accounting-overview-intro h1,
    .accounting-section-head h2,
    .secretarial-overview-intro h1,
    .secretarial-section-head h2,
    .formation-jurisdiction-intro h2,
    .formation-jurisdiction-section-head h2,
    .service-scope-content .scope-title-block h1
  ) {
    font-size: var(--mobile-type-section) !important;
    line-height: 1.25 !important;
  }

  /* Leads, cards, editorial content, and data display. */
  body main :is(
    .about-lead-main,
    .formation-intro-summary,
    .outbound-intro-summary,
    .fund-intro-summary,
    .accounting-intro-summary,
    .secretarial-intro-summary,
    .ir-page-intro > p,
    .article-body .rich-lead
  ) {
    font-size: var(--mobile-type-lead) !important;
    line-height: 1.7 !important;
  }

  body main :is(.conduct-intro p, .article-body blockquote p) {
    font-size: var(--mobile-type-lead) !important;
  }

  body main .conduct-principle h3 {
    font-size: 22px !important;
  }

  body main .conduct-translation {
    font-size: var(--mobile-type-card-title) !important;
  }

  body main :is(.trust-card strong, .metric-value) {
    font-size: 30px !important;
    line-height: 1 !important;
  }

  body main .timeline-year {
    font-size: 22px !important;
  }

  body main .team-profile-name-zh {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }

  body main .team-profile-name-en {
    font-size: 20px !important;
    line-height: 1.35 !important;
  }

  body main .team-profile-back {
    font-size: var(--mobile-type-body) !important;
  }

  body main .news-index-list h2 {
    font-size: 21px !important;
    line-height: 1.42 !important;
  }

  body main :is(.news-index-list time, .news-index-list p) {
    font-size: var(--mobile-type-body) !important;
  }

  body main .article-body {
    font-size: var(--mobile-type-body) !important;
    line-height: 1.75;
  }

  body main .article-body :is(table, figcaption) {
    font-size: var(--mobile-type-body) !important;
  }

  body main .article-body h2 {
    font-size: 23px !important;
  }

  body main .article-body h3,
  body main .article-attachments h2 {
    font-size: var(--mobile-type-card-title) !important;
  }

  body main .ir-page-intro h2 {
    font-size: var(--mobile-type-subsection) !important;
  }

  html[lang^="en"] body main h1 {
    font-size: 30px !important;
  }

  html[lang^="en"] body.home-page main :is(
    .section-heading > .eyebrow,
    .solutions-intro > .eyebrow
  ),
  html[lang^="en"] body.detail-page main :is(
    .team-section-heading > p,
    .about-kicker,
    .timeline-section .about-section-heading > div > .eyebrow,
    .about-credentials-kicker,
    .about-section .ecosystem-heading > p,
    .lifecycle-kicker,
    .conduct-title,
    .formation-eyebrow,
    .outbound-eyebrow,
    .fund-eyebrow,
    .accounting-eyebrow,
    .secretarial-eyebrow,
    .formation-jurisdiction-eyebrow
  ) {
    font-size: 20px !important;
  }

  html[lang^="en"] body.home-page main :is(
    .section-heading h2,
    .solutions-intro h2
  ),
  html[lang^="en"] body.detail-page main :is(
    .team-section-heading > h2,
    .about-lead h2,
    .timeline-section .about-section-heading h2,
    .about-credentials-copy > h2,
    .about-section .ecosystem-heading h2,
    .lifecycle-heading h2,
    .conduct-intro h2,
    .formation-overview-intro h1,
    .formation-section-head h2,
    .outbound-overview-intro h1,
    .outbound-section-head h2,
    .fund-overview-intro h1,
    .fund-section-head h2,
    .accounting-overview-intro h1,
    .accounting-section-head h2,
    .secretarial-overview-intro h1,
    .secretarial-section-head h2,
    .formation-jurisdiction-intro h2,
    .formation-jurisdiction-section-head h2,
    .service-scope-content .scope-title-block h1
  ) {
    font-size: var(--mobile-type-subsection) !important;
  }

  /* Action labels remain compact; form controls stay at 16px to prevent
     automatic viewport zoom when they receive focus in iOS Safari. */
  body :is(
    .hero-cta,
    .primary-button,
    .secondary-button,
    .secondary-light-button,
    .formation-button,
    .outbound-button,
    .fund-button,
    .accounting-button,
    .secretarial-button,
    .scope-consult-button,
    .consultation-submit,
    .footer-consult-button,
    .service-overview-cta,
    .insight-read-more,
    .news-index-more,
    .ir-copy-btn
  ) {
    font-size: var(--mobile-type-body) !important;
    line-height: 1.35 !important;
  }

  body :is(input, select, textarea) {
    font-size: 16px !important;
  }

  body :is(label, .consultation-field-label, .form-helper, .field-error) {
    font-size: 13px !important;
  }

  /* Mobile navigation and footer. */
  .main-nav.is-open > a,
  .main-nav.is-open > .nav-item > a,
  .main-nav.is-open > .nav-item > .nav-menu-trigger {
    font-size: var(--mobile-type-body);
  }

  .main-nav.is-open :is(.mega-menu a, .mega-menu-nested-link) {
    font-size: 13px;
  }

  .header-actions .lang-label {
    font-size: var(--mobile-type-meta);
  }

  .cookie-consent strong {
    font-size: 16px;
  }

  .home-footer .footer-slogan,
  .site-footer .footer-slogan {
    font-size: 16px !important;
    line-height: 1.5;
  }

  :is(.home-footer, .site-footer) :is(a, p, span, summary) {
    font-size: 13px;
  }

  :is(.home-footer, .site-footer) :is(.footer-contact-strip strong, .footer-contact-card strong) {
    font-size: var(--mobile-type-lead);
  }

  :is(.home-footer, .site-footer) :is(.footer-copyright, .footer-slogan-en) {
    font-size: var(--mobile-type-meta);
  }
}



/*
 * Shared bilingual heading scale for the homepage, About page, leadership
 * team, and service scope pages. The service overview heading is the reference
 * treatment.
 */

:root {
  --bilingual-eyebrow-size: clamp(32px, 2.1vw, 36px);
  --bilingual-title-size: clamp(32px, 3.4vw, 46px);
  --bilingual-heading-weight: 500;
  --bilingual-eyebrow-line-height: 1.2;
  --bilingual-title-line-height: 1.18;
}

/* English labels in the shared bilingual heading pattern are always displayed
   in uppercase. Chinese labels are unaffected by text transformation. */
body.home-page main .section-heading > .eyebrow,
body.home-page main .solutions-intro > .eyebrow,
.team-section-heading > p,
.about-kicker,
.timeline-section .about-section-heading > div > .eyebrow,
.about-credentials-kicker,
.about-section .ecosystem-heading > p,
.lifecycle-kicker,
.conduct-title,
.formation-eyebrow,
.outbound-eyebrow,
.fund-eyebrow,
.accounting-eyebrow,
.secretarial-eyebrow,
.formation-jurisdiction-eyebrow {
  text-transform: uppercase;
}

/* Homepage and leadership-team section headings. Homepage hero and metric
   values are not part of this scale. */
body.home-page main .section-heading > .eyebrow,
body.home-page main .solutions-intro > .eyebrow,
.team-section-heading > p {
  font-size: var(--bilingual-eyebrow-size);
  font-weight: var(--bilingual-heading-weight);
  letter-spacing: normal;
  line-height: var(--bilingual-eyebrow-line-height);
}

body.home-page main .section-heading h2,
body.home-page main .solutions-intro h2,
.team-section-heading > h2 {
  font-size: var(--bilingual-title-size);
  font-weight: var(--bilingual-heading-weight);
  letter-spacing: normal;
  line-height: var(--bilingual-title-line-height);
}

/* About page bilingual section headings. The About hero stays on the shared
   detail-banner scale. Decorative rules and spacing remain page-owned. */
.about-kicker,
.timeline-section .about-section-heading > div > .eyebrow,
.about-credentials-kicker,
.about-section .ecosystem-heading > p,
.lifecycle-kicker,
.conduct-title {
  font-size: var(--bilingual-eyebrow-size);
  font-weight: var(--bilingual-heading-weight);
  line-height: var(--bilingual-eyebrow-line-height);
}

.about-lead h2,
.timeline-section .about-section-heading h2,
.about-credentials-copy > h2,
.about-section .ecosystem-heading h2,
.lifecycle-heading h2,
.conduct-intro h2 {
  font-size: var(--bilingual-title-size);
  font-weight: var(--bilingual-heading-weight);
  line-height: var(--bilingual-title-line-height);
}

/* Service-scope and six-jurisdiction pages use the homepage bilingual heading
   treatment at every viewport width and in both locales. Page modules retain
   ownership of section spacing and wrapping only. */
body.detail-page :is(
  .formation-eyebrow,
  .outbound-eyebrow,
  .fund-eyebrow,
  .accounting-eyebrow,
  .secretarial-eyebrow,
  .formation-jurisdiction-eyebrow
) {
  margin: 0 0 14px;
  color: var(--heading-accent);
  font-size: var(--bilingual-eyebrow-size);
  font-weight: var(--bilingual-heading-weight);
  letter-spacing: normal;
  line-height: var(--bilingual-eyebrow-line-height);
  text-transform: uppercase;
}

body.detail-page :is(
  .formation-overview-intro h1,
  .formation-section-head h2,
  .outbound-overview-intro h1,
  .outbound-section-head h2,
  .fund-overview-intro h1,
  .fund-section-head h2,
  .accounting-overview-intro h1,
  .accounting-section-head h2,
  .secretarial-overview-intro h1,
  .secretarial-section-head h2,
  .formation-jurisdiction-intro h2,
  .formation-jurisdiction-section-head h2,
  .service-scope-content .scope-title-block h1
) {
  margin-top: 0;
  color: var(--heading-ink);
  font-size: var(--bilingual-title-size);
  font-weight: var(--bilingual-heading-weight);
  letter-spacing: normal;
  line-height: var(--bilingual-title-line-height);
}



/* Homepage partners carousel. */
.partner-logo-section {
  --partner-logo-page-scale: 0.82;
  --partner-logo-page-width: 82%;
  padding: clamp(88px, 8vw, 132px) 0;
  color: var(--deep-blue);
  background: #fff;
}

.partner-logo-section__heading {
  max-width: 720px;
  margin: 0 auto clamp(30px, 3vw, 42px);
  text-align: center;
}

.partner-logo-section__heading h2 {
  margin: 0;
  color: var(--heading-ink);
  font-size: clamp(34px, 3.4vw, 50px);
  font-weight: 700;
  line-height: 1.16;
}

.partner-logo-section .partner-carousel {
  gap: 0;
  width: 100%;
  max-width: none;
}

.partner-logo-section .partner-carousel-viewport {
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.partner-logo-section .partner-carousel-track {
  transition: none;
}

.partner-logo-section .partner-carousel-track.is-continuous {
  animation: partner-logo-continuous-scroll var(--partner-logo-loop-duration, 55s) linear infinite;
}

.partner-logo-section .partner-carousel:focus-within .partner-carousel-track.is-continuous {
  animation-play-state: paused;
}

@keyframes partner-logo-continuous-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(var(--partner-logo-loop-distance, -1000%)); }
}

.partner-logo-section .partner-logo-page {
  position: relative;
  display: block;
  flex-basis: var(--partner-logo-page-width);
  min-width: var(--partner-logo-page-width);
  /* Match the five-column pitch used by the continuous loop so the gap at a
     former page boundary is identical to every other card gap. */
  aspect-ratio: 13.086 / 4.9645;
  min-height: 0;
  padding: 0;
}

.partner-logo-section .partner-logo-cell {
  position: absolute;
  left: var(--cell-left);
  top: var(--cell-top);
  width: var(--cell-width);
  height: var(--cell-height);
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #fafbfd;
  border: 0;
}

.partner-logo-section .partner-logo-canvas {
  position: absolute;
  left: 10.74259%;
  top: 16.31530%;
  width: 78.51410%;
  height: 67.36940%;
  background: #fff;
}

.partner-logo-section .partner-logo-picture {
  position: absolute;
  left: var(--logo-left);
  top: var(--logo-top);
  width: var(--logo-width);
  height: var(--logo-height);
  overflow: hidden;
}

.partner-logo-section .partner-logo-picture img {
  position: absolute;
  left: var(--source-left, 0);
  top: var(--source-top, 0);
  display: block;
  width: var(--source-width, 100%);
  height: var(--source-height, 100%);
  max-width: none;
  max-height: none;
  object-fit: contain;
}

@media (max-width: 820px) {
  .partner-logo-section {
    --partner-logo-page-scale: 0.9;
    --partner-logo-page-width: 90%;
    padding-block: 72px;
  }
  .partner-logo-section .partner-carousel-frame { padding-inline: 0; }
}

@media (max-width: 767px) {
  .partner-logo-section {
    --partner-logo-page-scale: 1.08;
    --partner-logo-page-width: 108%;
  }

  .home-page .partner-logo-section {
    padding-block: 48px 24px;
  }

  .home-page .partner-logo-section + .solutions-tabs {
    padding-top: 24px;
  }

  .home-page .partner-logo-section + .solutions-tabs .solutions-stage {
    padding-top: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .partner-logo-section .partner-carousel-track.is-continuous {
    animation: none;
    transform: none;
  }
}



/*
 * Keep every semantic homepage title visually light without changing its
 * size, spacing, color, or layout.
 */
body.home-page main #hero-title {
  font-weight: 400;
}

body.home-page main .hero-slogan,
body.home-page main .section-heading > .eyebrow,
body.home-page main .solutions-intro > .eyebrow,
body.home-page main .section-heading h2,
body.home-page main .solutions-intro h2,
body.home-page main h3 {
  font-weight: 500;
}


