/* 平和医疗官网｜多页面版 V2.18｜2026-08-30｜A方案：深青蓝 × 平和亮蓝 × 暖白 */
:root {
  --brand-blue: #00b2eb;
  --brand-blue-rgb: 0, 178, 235;
  --management-blue: #07536e;
  --management-ink: #12313d;
  --warm-paper: #f7f6f1;
  --secondary-text: #607782;
  --blue: var(--brand-blue);
  --blue-medium: #008fc8;
  --blue-action: #0079aa;
  --blue-action-hover: #00658f;
  --blue-deep: var(--management-blue);
  --blue-black: #082f40;
  --blue-pale: #e9f8fd;
  --paper: var(--warm-paper);
  --white: #ffffff;
  --ink: var(--management-ink);
  --ink-soft: var(--secondary-text);
  --muted: #718791;
  --line: rgba(7, 83, 110, 0.16);
  --utility-height: 34px;
  --header-height: 78px;
  --primary-banner-height: 390px;
  --type-section-title: clamp(34px, 3.1vw, 48px);
  --type-section-label: 15px;
  --type-section-number: 18px;
  --type-body: 15px;
  --type-card-title: 24px;
  --type-card-body: 14px;
  --line-body: 1.84;
  --line-card: 1.72;
  --space-section: 88px;
  --space-section-end: 92px;
  --space-section-compact: 76px;
  --space-heading-grid: 44px;
  --space-copy: 28px;
  --space-column: clamp(48px, 6vw, 88px);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 18px);
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "PingFang SC", "Noto Sans SC", "Microsoft YaHei", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

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

a:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--blue-action);
  outline-offset: 4px;
}

img {
  display: block;
  max-width: 100%;
}

button,
summary {
  font: inherit;
}

.site-shell {
  width: min(calc(100% - 96px), 1440px);
  margin-inline: auto;
}

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

.eyebrow.light {
  color: #8de3ff;
}

.utility-bar {
  position: relative;
  z-index: 70;
  min-height: var(--utility-height);
  color: rgba(255, 255, 255, 0.76);
  background: var(--blue-black);
  font-size: 11px;
  letter-spacing: 0.05em;
}

.utility-inner {
  min-height: var(--utility-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.utility-inner a {
  transition: color 160ms ease;
}

.utility-inner a:hover {
  color: white;
}

.utility-action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 650;
}

.utility-action span {
  transition: transform 160ms ease;
}

.utility-action:hover span {
  transform: translateX(2px);
}

.region-switch {
  position: relative;
  align-self: stretch;
}

.region-switch > summary {
  height: 100%;
  min-height: var(--utility-height);
  padding: 0 12px;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.92);
  cursor: pointer;
  font-weight: 650;
  letter-spacing: 0.035em;
  transition: color 160ms ease, background 160ms ease;
}

.region-switch > summary:hover,
.region-switch[open] > summary {
  color: white;
  background: rgba(255, 255, 255, 0.08);
}

.region-switch > summary > svg {
  width: 12px;
  margin-left: 2px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  transition: transform 160ms ease;
}

.region-switch[open] > summary > svg {
  transform: rotate(180deg);
}

.region-switch-icon {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  display: grid;
  place-items: center;
}

.china-flag {
  font-size: 18px;
  line-height: 1;
}

.international-globe {
  display: block;
  font-size: 19px;
  line-height: 1;
}

.region-switch-menu {
  position: absolute;
  z-index: 100;
  top: 100%;
  left: 0;
  width: 300px;
  padding: 10px;
  display: grid;
  gap: 4px;
  color: var(--ink);
  background: white;
  border: 1px solid var(--line);
  box-shadow: 0 22px 60px rgba(7, 48, 91, 0.18);
}

.region-switch-menu a {
  min-height: 52px;
  padding: 0 12px;
  display: grid;
  grid-template-columns: 26px 1fr auto;
  align-items: center;
  gap: 10px;
  color: var(--ink-soft);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0;
}

.region-switch-menu a:hover,
.region-switch-menu a.current {
  color: var(--blue-action);
  background: var(--blue-pale);
}

.region-switch-menu strong {
  color: var(--blue);
  font-size: 15px;
}

.site-header {
  position: sticky;
  z-index: 50;
  top: 0;
  height: var(--header-height);
  background: rgba(255, 255, 255, 0.95);
  border-bottom: 1px solid rgba(7, 83, 110, 0.12);
  box-shadow: 0 8px 28px rgba(7, 48, 91, 0.035);
  backdrop-filter: blur(18px);
}

.header-inner {
  height: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
}

.brand-logo-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.brand-mark {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
}

.brand-wordmark {
  display: block;
  color: var(--brand-blue);
  line-height: 1;
}

.brand-wordmark strong {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.desktop-nav {
  width: max-content;
  height: 100%;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  justify-self: end;
  align-self: stretch;
  gap: 2px;
  color: var(--ink-soft);
  font-size: 13px;
}

.nav-group {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}

.nav-primary {
  height: 100%;
  padding-inline: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  transition: color 160ms ease, background 160ms ease;
}

.nav-primary > a {
  height: 100%;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  border-bottom: 2px solid transparent;
}

.nav-group:hover .nav-primary,
.nav-group:focus-within .nav-primary,
.nav-group.active .nav-primary {
  color: var(--blue-action);
  background: rgba(var(--brand-blue-rgb), 0.09);
}

.nav-caret {
  width: 14px;
  height: 100%;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nav-caret svg {
  width: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

.nav-group:hover .nav-caret svg,
.nav-group:focus-within .nav-caret svg {
  transform: rotate(180deg);
}

.nav-submenu {
  position: absolute;
  z-index: 80;
  top: 100%;
  right: 0;
  min-width: 208px;
  padding: 8px 0;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 12px 28px rgba(4, 31, 61, 0.1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 160ms ease, visibility 160ms ease, transform 160ms ease;
}
.nav-dropdown-link {
  display: block;
  padding: 14px 24px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.5;
  white-space: nowrap;
}
.nav-dropdown-link:hover,
.nav-dropdown-link:focus-visible {
  color: var(--blue-action);
  background: #edf8fd;
}

.nav-group:hover .nav-submenu,
.nav-group:focus-within .nav-submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.nav-mega-layout {
  min-height: 300px;
}

.nav-mega-arrow svg {
  width: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nav-mega-links {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nav-mega-links[data-count="4"] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nav-mega-item {
  min-width: 0;
  min-height: 300px;
  position: relative;
  padding: 34px 27px 32px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(7, 83, 110, 0.1);
  color: var(--ink);
  transition: color 160ms ease, background 160ms ease;
}

.nav-mega-item:last-child {
  border-right: 0;
}

.nav-mega-item:hover,
.nav-mega-item:focus-visible {
  color: var(--blue-action);
  background: rgba(var(--brand-blue-rgb), 0.085);
  outline: none;
}

.nav-mega-item-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--blue-action);
}

.nav-mega-item-top > span {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.nav-section-icon {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nav-mega-item strong {
  margin-top: 43px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
}

.nav-mega-item p {
  margin: 14px 0 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.72;
}

.nav-mega-arrow {
  position: absolute;
  right: 24px;
  bottom: 24px;
  color: var(--blue-action);
  opacity: 0;
  transform: translateX(-5px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.nav-mega-item:hover .nav-mega-arrow,
.nav-mega-item:focus-visible .nav-mega-arrow {
  opacity: 1;
  transform: translateX(0);
}

.header-tools {
  display: none;
  align-items: center;
  gap: 18px;
}

.mobile-menu {
  display: none;
  position: relative;
}

.mobile-menu > summary {
  width: 84px;
  height: 40px;
  padding: 0 13px;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--ink);
  background: var(--blue-pale);
  border: 1px solid var(--line);
  cursor: pointer;
  font-size: 12px;
}

summary::-webkit-details-marker {
  display: none;
}

.menu-lines,
.menu-lines::before,
.menu-lines::after {
  width: 17px;
  height: 1.5px;
  display: block;
  background: currentColor;
  transition: transform 160ms ease;
}

.menu-lines {
  position: relative;
}

.menu-lines::before,
.menu-lines::after {
  content: "";
  position: absolute;
  left: 0;
}

.menu-lines::before {
  top: -5px;
}

.menu-lines::after {
  top: 5px;
}

.mobile-menu[open] .menu-lines {
  background: transparent;
}

.mobile-menu[open] .menu-lines::before {
  top: 0;
  transform: rotate(45deg);
}

.mobile-menu[open] .menu-lines::after {
  top: 0;
  transform: rotate(-45deg);
}

.mobile-menu > nav {
  position: absolute;
  z-index: 80;
  top: 52px;
  right: 0;
  width: min(380px, calc(100vw - 32px));
  max-height: calc(100vh - 110px);
  padding: 14px;
  overflow-y: auto;
  background: white;
  border: 1px solid var(--line);
  box-shadow: 0 22px 60px rgba(7, 48, 91, 0.18);
}

.mobile-nav-group {
  border-bottom: 1px solid var(--line);
}

.mobile-nav-group > summary {
  min-height: 50px;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-size: 14px;
  font-weight: 650;
}

.mobile-nav-group > summary svg {
  width: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  transition: transform 160ms ease;
}

.mobile-nav-group[open] > summary svg {
  transform: rotate(180deg);
}

.mobile-nav-group > div {
  padding: 0 0 12px 12px;
  display: grid;
}

.mobile-nav-group a {
  padding: 9px 0;
  color: var(--ink-soft);
  font-size: 13px;
}

.mobile-nav-group .mobile-nav-section-link {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: baseline;
  gap: 10px;
}

.mobile-nav-section-link .page-section-number {
  color: var(--blue-action);
}

.mobile-nav-group .mobile-all {
  color: var(--blue-action);
  font-weight: 700;
}

.home-hero {
  min-height: 620px;
  position: relative;
  overflow: hidden;
  color: white;
  background: var(--blue-black);
}

.home-hero-carousel {
  isolation: isolate;
}

.home-hero-slide {
  min-height: inherit;
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 700ms ease, visibility 700ms ease;
}

.home-hero-slide.active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
}

.home-hero-image,
.home-hero-shade,
.home-hero-grid {
  position: absolute;
  inset: 0;
}

.home-hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.home-hero-shade {
  background:
    linear-gradient(90deg, rgba(5, 47, 70, 0.98) 0%, rgba(6, 68, 95, 0.91) 46%, rgba(7, 93, 120, 0.48) 76%, rgba(var(--brand-blue-rgb), 0.16) 100%),
    linear-gradient(0deg, rgba(5, 47, 70, 0.32), rgba(5, 47, 70, 0.08));
}

.home-hero-grid,
.primary-hero-grid {
  opacity: 0.2;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.12) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg, black, transparent 82%);
}

.home-hero-inner {
  min-height: 620px;
  padding-block: 72px;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
}

.home-hero-copy {
  max-width: 760px;
}

.home-hero-static .home-hero-copy {
  max-width: 880px;
}

.home-hero h1 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(52px, 5.8vw, 82px);
  font-weight: 560;
  letter-spacing: -0.055em;
  line-height: 1.04;
}

.home-hero-static h1 {
  max-width: 880px;
  font-size: clamp(50px, 5vw, 72px);
}

.home-hero h1 span {
  display: block;
  color: #6edaff;
}

.home-hero-copy > p:not(.eyebrow) {
  max-width: 660px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 16px;
  line-height: 1.8;
}

.hero-actions {
  margin-top: 30px;
  display: flex;
  align-items: center;
  gap: 28px;
}

.hero-actions-single {
  margin-top: 32px;
  gap: 0;
}

.hero-actions-single .button {
  min-width: 148px;
  padding-inline: 24px;
}

.button {
  min-height: 52px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border: 0;
  font-size: 14px;
  font-weight: 700;
  transition: color 160ms ease, background 160ms ease, transform 160ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button svg,
.text-link svg,
.home-pillar-card svg {
  width: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.button-white {
  color: var(--blue-deep);
  background: white;
}

.button-white:hover {
  color: var(--blue-action);
  background: #eefbff;
}

.button-blue {
  color: white;
  background: var(--blue-action);
}

.button-blue:hover {
  background: var(--blue-action-hover);
}

.text-link {
  width: fit-content;
  padding-bottom: 5px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid currentColor;
  font-size: 13px;
  font-weight: 650;
}

.light-link {
  color: white;
}

.hero-principles {
  margin-top: 42px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
}

.hero-principles span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.hero-principles span::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #66dbff;
}

.home-pillars {
  background: white;
}

.home-pillar-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  overflow: hidden;
  background: var(--blue-deep);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.home-pillar-card {
  min-height: 292px;
  padding: 30px 28px 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: white;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  transition: color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.home-pillar-card:hover,
.home-pillar-card:focus-visible {
  color: white;
  background: var(--blue-deep);
  outline: none;
  box-shadow: inset 0 4px 0 #6edaff;
}

.home-pillar-card small {
  color: var(--blue-action);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.home-pillar-card h2 {
  margin: 12px 0 0;
  font-size: 29px;
  font-weight: 600;
}

.home-pillar-card p {
  margin: 18px 0 0;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: var(--line-body);
}

.home-pillar-card:hover p,
.home-pillar-card:focus-visible p {
  color: rgba(255, 255, 255, 0.76);
}

.home-pillar-points {
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.home-pillar-points li {
  padding: 10px 0;
  border-top: 1px solid var(--line);
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.5;
}

.home-pillar-card:hover .home-pillar-points li,
.home-pillar-card:focus-visible .home-pillar-points li {
  border-color: rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.8);
}

.home-pillar-card strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 650;
}

.home-about h2,
.home-contact h2,
.primary-overview h2,
.primary-section-heading h2,
.primary-principle h2,
.primary-next h2 {
  margin: 0;
  font-size: var(--type-section-title);
  font-weight: 560;
  letter-spacing: -0.035em;
  line-height: 1.2;
  text-wrap: balance;
}

.home-about {
  padding: var(--space-section) 0;
  background: var(--paper);
}

.home-about-layout {
  display: grid;
  grid-template-columns: 0.34fr 1fr;
  align-items: start;
  gap: var(--space-column);
}

.home-about-layout > div {
  max-width: 940px;
}

.home-about-layout > div > p {
  max-width: 780px;
  margin: var(--space-copy) 0 26px;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: var(--line-body);
}

.home-contact {
  padding: 0;
  color: var(--blue-deep);
  background:
    radial-gradient(circle at 88% 18%, rgba(var(--brand-blue-rgb), 0.12), transparent 34%),
    linear-gradient(135deg, #eff8fb 0%, #dceff5 100%);
  border-top: 1px solid rgba(var(--brand-blue-rgb), 0.16);
}

.home-contact-panel {
  padding: clamp(64px, 5.5vw, 76px) 0;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items: end;
  gap: 9vw;
}

.home-contact-panel > div:last-child {
  display: grid;
  gap: 24px;
}

.home-contact-panel > div:last-child p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: var(--line-body);
}

.home-contact-panel .button {
  justify-self: start;
}

.primary-page-hero {
  min-height: var(--primary-banner-height);
  position: relative;
  overflow: hidden;
  color: white;
  background:
    radial-gradient(circle at 84% 18%, rgba(var(--brand-blue-rgb), 0.22), transparent 34%),
    linear-gradient(135deg, #052f46 0%, #06445f 52%, #075d78 100%);
}

.primary-hero-grid {
  position: absolute;
  inset: 0;
  opacity: 0.1;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.12) 1px, transparent 1px);
}

.primary-page-hero-inner {
  min-height: var(--primary-banner-height);
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  padding-block: 48px;
}

.primary-page-hero-copy {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
  align-items: end;
  gap: 18px var(--space-column);
}

.management-hero-copy {
  grid-template-columns: minmax(0, 1.18fr) minmax(350px, 0.82fr);
  gap: 18px var(--space-column);
}

.primary-page-hero-copy .eyebrow {
  grid-column: 1 / -1;
  color: rgba(96, 211, 247, 0.94);
}

.primary-page-hero h1 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(42px, 4.3vw, 62px);
  font-weight: 570;
  letter-spacing: -0.045em;
  line-height: 1.12;
  text-wrap: balance;
  color: white;
}

.hero-title-split > span {
  display: block;
}

.hero-title-split > span:last-child {
  margin-top: 12px;
  color: rgba(18, 49, 61, 0.8);
  font-size: clamp(28px, 2.8vw, 40px);
  font-weight: 540;
  letter-spacing: -0.035em;
  line-height: 1.18;
}

.primary-page-hero .hero-title-split > span:last-child {
  color: rgba(255, 255, 255, 0.88);
}

.primary-page-hero-copy > p:not(.eyebrow) {
  max-width: 460px;
  margin: 0 0 5px;
  padding: 16px 20px;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(255, 255, 255, 0.055);
  border-left: 2px solid rgba(var(--brand-blue-rgb), 0.92);
  font-size: 15px;
  line-height: 1.8;
  backdrop-filter: blur(8px);
}

.primary-overview {
  padding: var(--space-section) 0;
  background: var(--paper);
}

.primary-overview-layout {
  display: grid;
  grid-template-columns: 0.34fr 1fr;
  align-items: start;
  gap: var(--space-column);
}

.primary-overview-layout > div {
  max-width: 960px;
}

.primary-overview-layout > div > p {
  max-width: 820px;
  margin: var(--space-copy) 0 0;
  color: var(--ink-soft);
  font-size: var(--type-body);
  line-height: var(--line-body);
}

.primary-details {
  padding: var(--space-section) 0 var(--space-section-end);
  background: white;
}

.primary-overview h2,
.primary-section-heading h2,
.primary-principle h2,
.primary-next h2 {
  font-size: var(--type-section-title);
  font-weight: 520;
  letter-spacing: -0.035em;
  line-height: 1.2;
}

.primary-section-heading {
  max-width: 920px;
}

.primary-detail-grid {
  margin-top: var(--space-heading-grid);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.primary-detail-grid-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.primary-detail-card {
  min-height: 282px;
  padding: 28px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-direction: column;
}

.detail-card-top {
  min-height: 30px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  color: var(--muted);
  font-size: 11px;
}

.detail-card-top > span {
  color: var(--blue-action);
  font-family: Arial, Helvetica, sans-serif;
  font-size: var(--type-section-number);
  font-weight: 700;
}

.detail-card-top em {
  padding: 6px 9px;
  color: var(--blue-deep);
  background: var(--blue-pale);
  border: 1px solid rgba(0, 121, 170, 0.18);
  font-size: 10px;
  font-style: normal;
}

.primary-detail-card h3 {
  margin: auto 0 16px;
  padding-top: 52px;
  font-size: var(--type-card-title);
  font-weight: 600;
  letter-spacing: -0.02em;
}

.primary-detail-card p {
  margin: 0;
  color: var(--ink-soft);
  font-size: var(--type-body);
  line-height: var(--line-body);
}

.about-philosophy {
  padding: var(--space-section) 0;
  background: var(--paper);
}

.about-philosophy-layout {
  display: grid;
  grid-template-columns: 0.3fr 1fr;
  align-items: start;
  gap: var(--space-column);
}

.about-philosophy-content {
  max-width: 1030px;
}

.about-philosophy-content > h2,
.about-foundation-layout h2,
.about-principle h2 {
  margin: 0;
  max-width: 940px;
  font-size: var(--type-section-title);
  font-weight: 520;
  letter-spacing: -0.035em;
  line-height: 1.2;
  text-wrap: balance;
}

.about-philosophy-copy {
  max-width: 840px;
  margin-top: var(--space-copy);
  display: grid;
  gap: 14px;
}

.about-philosophy-copy p {
  margin: 0;
  color: var(--ink-soft);
  font-size: var(--type-body);
  line-height: var(--line-body);
}

.about-section-label,
.page-section-label {
  display: flex;
  align-items: baseline;
  gap: 12px;
  color: var(--blue-action);
  font-size: var(--type-section-label);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
}

.about-section-number,
.page-section-number {
  font-family: Arial, Helvetica, sans-serif;
  font-size: var(--type-section-number);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.about-meaning-section {
  padding: var(--space-section) 0 var(--space-section-end);
  background: white;
  scroll-margin-top: 150px;
}

.about-meaning-layout {
  display: grid;
  grid-template-columns: 0.3fr 1fr;
  align-items: start;
  gap: var(--space-column);
}

.about-meaning-content {
  max-width: 1030px;
}

.about-meaning-intro {
  max-width: 840px;
  display: grid;
  gap: 14px;
}

.about-meaning-intro p {
  margin: 0;
  color: var(--ink-soft);
  font-size: var(--type-body);
  line-height: var(--line-body);
}

.about-meaning-grid {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.about-meaning-card {
  min-height: 180px;
  padding: 28px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 28px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.about-meaning-card > span {
  color: var(--blue-action);
  font-family: "Noto Sans SC", "Microsoft YaHei", sans-serif;
  font-size: var(--type-section-title);
  font-weight: 520;
  line-height: 1;
}

.about-meaning-card h3 {
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 600;
}

.about-meaning-card p {
  margin: 0;
  color: var(--ink-soft);
  font-size: var(--type-card-body);
  line-height: var(--line-card);
}

.about-foundation {
  padding: var(--space-section) 0;
  background: var(--paper);
  scroll-margin-top: 150px;
}

.about-foundation-layout {
  display: grid;
  grid-template-columns: 0.3fr 1fr;
  align-items: start;
  gap: var(--space-column);
}

.about-foundation-layout > div {
  max-width: 960px;
}

.about-foundation-layout > div > p {
  max-width: 820px;
  margin: var(--space-copy) 0 0;
  color: var(--ink-soft);
  font-size: var(--type-body);
  line-height: var(--line-body);
}

.primary-principle.about-principle {
  padding: var(--space-section) 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  scroll-margin-top: 150px;
}

.about-principle .primary-principle-layout > div > p {
  font-size: var(--type-body);
  line-height: var(--line-body);
}

.about-philosophy,
.primary-detail-card[id] {
  scroll-margin-top: 150px;
}

.management-models {
  padding: var(--space-section) 0 var(--space-section-end);
  background: white;
}

.management-model-grid {
  margin-top: var(--space-heading-grid);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.management-model-card {
  min-height: 230px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.management-model-card h3,
.management-focus-card h3,
.management-process-grid h3 {
  margin: 0;
  font-size: var(--type-card-title);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.management-model-card p,
.management-focus-card p,
.management-process-grid p {
  margin: 16px 0 0;
  color: var(--ink-soft);
  font-size: var(--type-body);
  line-height: var(--line-body);
}

.management-focus {
  padding: var(--space-section) 0 var(--space-section-end);
  background: var(--paper);
}

.management-focus-grid {
  margin-top: var(--space-heading-grid);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.management-focus-card {
  min-height: 250px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: rgba(255, 255, 255, 0.54);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.management-focus-card.featured {
  min-height: 250px;
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  color: white;
  background:
    radial-gradient(circle at 88% 18%, rgba(var(--brand-blue-rgb), 0.24), transparent 30%),
    var(--blue-deep);
}

.management-focus-card.featured > div {
  max-width: 980px;
}

.management-focus-card.featured p {
  color: rgba(255, 255, 255, 0.76);
}

.management-focus-card ul {
  margin: 24px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
}

.management-focus-card li {
  padding: 8px 12px;
  color: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(255, 255, 255, 0.24);
  font-size: 11px;
  letter-spacing: 0.03em;
}

.management-process {
  padding: var(--space-section) 0 var(--space-section-end);
  color: white;
  background:
    radial-gradient(circle at 90% 18%, rgba(var(--brand-blue-rgb), 0.18), transparent 28%),
    var(--blue-black);
}

.management-process .primary-section-heading {
  max-width: 1020px;
}

.management-process-intro {
  max-width: 760px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: var(--type-body);
  line-height: var(--line-body);
}

.management-process-grid {
  margin-top: var(--space-heading-grid);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.management-process-grid article {
  position: relative;
  min-height: 220px;
  padding: 0 clamp(24px, 3vw, 48px) 0 0;
  display: flex;
  flex-direction: column;
}

.management-process-grid article:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 28px;
  left: 58px;
  width: calc(100% - 58px);
  height: 1px;
  background: rgba(255, 255, 255, 0.24);
}

.management-process-grid article > span {
  position: relative;
  z-index: 1;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  color: #82defc;
  background: var(--blue-black);
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 50%;
  font-size: 28px;
  font-weight: 650;
  line-height: 1;
}

.management-process-grid h3 {
  margin-top: auto;
  padding-top: 50px;
  font-size: var(--type-card-title);
}

.management-process-grid p {
  color: rgba(255, 255, 255, 0.68);
  font-size: var(--type-body);
}

.management-output-layout {
  display: grid;
  grid-template-columns: 0.65fr 1.35fr;
  align-items: start;
  gap: 8vw;
}

.management-process-outputs {
  margin-top: 60px;
  padding-top: 48px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.management-output-list {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  list-style: none;
}

.management-output-list li {
  min-height: 110px;
  padding: 24px;
  display: flex;
  align-items: start;
  gap: 16px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.management-output-list li::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-top: 8px;
  flex: 0 0 auto;
  background: var(--blue-action);
  border-radius: 50%;
}

.management-output-list strong {
  font-size: var(--type-body);
  font-weight: 600;
  line-height: var(--line-body);
}

.management-process-outputs .management-output-list {
  border-color: rgba(255, 255, 255, 0.18);
}

.management-process-outputs .management-output-list li {
  border-color: rgba(255, 255, 255, 0.18);
}

.management-process-outputs .management-output-list li::before {
  background: #82defc;
}

.primary-principle {
  padding: var(--space-section) 0;
  color: white;
  background:
    radial-gradient(circle at 86% 22%, rgba(var(--brand-blue-rgb), 0.2), transparent 30%),
    var(--blue-deep);
}

.primary-principle-layout {
  display: grid;
  grid-template-columns: 0.34fr 1fr;
  align-items: start;
  gap: var(--space-column);
}

.primary-principle-layout > div {
  max-width: 980px;
}

.primary-principle-layout > div > p {
  max-width: 790px;
  margin: var(--space-copy) 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: var(--type-body);
  line-height: var(--line-body);
}

.primary-next {
  padding: var(--space-section-compact) 0;
  background: #f2f7f9;
}

.primary-next-layout {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  align-items: end;
  gap: var(--space-column);
}

.primary-next-layout > div:first-child {
  max-width: 900px;
}

.primary-next-actions {
  display: grid;
  justify-items: start;
  gap: 25px;
}

.site-footer {
  color: white;
  background: var(--blue-black);
}

.footer-top {
  min-height: 0;
  padding-block: 50px;
  display: grid;
  grid-template-columns: minmax(210px, 1.15fr) minmax(140px, 0.68fr) minmax(160px, 0.8fr) minmax(250px, 1.15fr);
  align-items: start;
  gap: clamp(34px, 4.8vw, 72px);
}

.footer-brand-copy {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 9px;
}

.footer-brand-name {
  color: white;
  font-size: 22px;
  font-weight: 650;
  letter-spacing: 0.08em;
}

.footer-brand-copy strong {
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  font-weight: 550;
  letter-spacing: 0.06em;
}

.footer-brand-copy p {
  max-width: 240px;
  margin: 4px 0 0;
  color: rgba(255, 255, 255, 0.54);
  font-size: 12px;
  line-height: 1.75;
}

.footer-link-group,
.footer-location-group {
  display: grid;
  align-content: start;
  gap: 18px;
}

.footer-heading {
  color: rgba(255, 255, 255, 0.48);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.1em;
}

.footer-link-group nav {
  display: grid;
  justify-items: start;
  gap: 11px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
}

.footer-link-group nav a:hover,
.footer-email:hover {
  color: white;
}

.footer-email {
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  letter-spacing: 0.03em;
}

.footer-email-block {
  display: grid;
  gap: 7px;
  margin-top: 4px;
}

.footer-email-block > span {
  color: rgba(255, 255, 255, 0.48);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.1em;
}

.footer-location-group ul {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  line-height: 1.7;
  list-style: none;
}

.footer-bottom {
  min-height: 58px;
  padding-block: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: rgba(255, 255, 255, 0.5);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 11px;
}

.contact-request-section {
  padding: var(--space-section) 0 var(--space-section-end);
  background: #edf4f6;
}

.contact-overview-title {
  white-space: pre-line;
}

.contact-request-layout {
  display: grid;
  grid-template-columns: 0.34fr 1fr;
  align-items: start;
  gap: var(--space-column);
}

.contact-request-content {
  min-width: 0;
  max-width: 1040px;
}

.contact-request-heading h2 {
  max-width: 900px;
  margin: 0;
  font-size: var(--type-section-title);
  font-weight: 520;
  letter-spacing: -0.035em;
  line-height: 1.2;
  text-wrap: balance;
}

.contact-request-heading p {
  max-width: 790px;
  margin: 24px 0 0;
  color: var(--ink-soft);
  font-size: var(--type-body);
  line-height: var(--line-body);
}

.cooperation-form {
  position: relative;
  margin-top: 40px;
  padding: clamp(28px, 3.5vw, 42px);
  background: white;
  border: 1px solid var(--line);
}

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

.form-field {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 9px;
}

.form-field > span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}

.form-field b {
  margin-left: 4px;
  color: var(--blue-action);
  font-weight: 700;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  border: 1px solid rgba(7, 83, 110, 0.24);
  border-radius: 0;
  background: #fbfdfd;
  color: var(--ink);
  font: inherit;
  font-size: 15px;
  line-height: 1.55;
  outline: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.form-field input,
.form-field select {
  min-height: 52px;
  padding: 13px 14px;
}

/* Keep native select behavior, with a consistently inset visual chevron. */
.cooperation-form .form-field select,
.recruitment-entry .form-field select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 46px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3 5 4 4 4-4' fill='none' stroke='%23546d77' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 14px 14px;
}
@media (forced-colors: active) {
  .cooperation-form .form-field select,
  .recruitment-entry .form-field select { appearance: auto; background-image: none; }
}

.form-field textarea {
  min-height: 176px;
  padding: 15px 14px;
  resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: var(--blue-action);
  background-color: white;
  box-shadow: 0 0 0 3px rgba(var(--brand-blue-rgb), 0.1);
}

.form-field input::placeholder,
.form-field textarea::placeholder {
  color: rgba(96, 119, 130, 0.68);
}

.form-field small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}

.form-field-wide {
  grid-column: 1 / -1;
}

.form-consent {
  margin-top: 24px;
  display: flex;
  align-items: flex-start;
  gap: 11px;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.7;
}

.form-consent input {
  width: 16px;
  height: 16px;
  margin: 3px 0 0;
  flex: 0 0 auto;
  accent-color: var(--blue-action);
}

.form-submit-row {
  margin-top: 30px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 22px 28px;
}

.form-submit-row .button {
  border: 0;
  cursor: pointer;
}

.form-submit-row .button:disabled {
  cursor: wait;
  opacity: 0.58;
}

.form-status {
  min-height: 48px;
}

.form-status p {
  margin: 0;
  font-size: 13px;
  line-height: 1.75;
}

.form-success {
  color: #185a43;
}

.form-success strong,
.form-success code {
  display: block;
}

.form-success strong {
  margin-bottom: 3px;
  color: #0e4a36;
}

.form-success code {
  margin-top: 5px;
  color: var(--blue-deep);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.form-error {
  color: #a3342d;
}

.form-honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.contact-direct-email {
  width: fit-content;
  margin-top: 34px;
  min-height: 52px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  color: #bdefff;
  background: rgba(130, 222, 252, 0.12);
  border: 1px solid rgba(130, 222, 252, 0.42);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: color 160ms ease, background 160ms ease, border-color 160ms ease;
}

.contact-direct-email:hover {
  color: white;
  background: rgba(130, 222, 252, 0.2);
  border-color: rgba(130, 222, 252, 0.72);
}

.contact-direct-email:focus-visible {
  outline: 2px solid #bdefff;
  outline-offset: 3px;
}

.admin-page {
  min-height: 100vh;
  background: #edf3f5;
  color: var(--ink);
}

.admin-shell {
  width: min(calc(100% - 64px), 1280px);
  margin-inline: auto;
}

.admin-header {
  color: white;
  background: var(--blue-black);
}

.admin-header-inner {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.admin-header-inner > div {
  display: flex;
  align-items: center;
  gap: 18px;
}

.admin-header-inner > div:last-child {
  color: rgba(255, 255, 255, 0.66);
  font-size: 12px;
}

.admin-header-inner > div:last-child a {
  color: white;
}

.admin-brand {
  font-size: 20px;
  font-weight: 650;
  letter-spacing: 0.06em;
}

.admin-header-inner > div:first-child > span {
  padding-left: 18px;
  color: rgba(255, 255, 255, 0.58);
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 12px;
}

.admin-content {
  padding-block: 64px 88px;
}

.admin-title-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
}

.admin-title-row p {
  margin: 0 0 8px;
  color: var(--blue-action);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.admin-title-row h1 {
  margin: 0;
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 540;
  letter-spacing: -0.04em;
}

.admin-title-row > strong {
  color: rgba(7, 83, 110, 0.22);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 64px;
  line-height: 0.9;
}

.admin-request-list {
  margin-top: 42px;
  display: grid;
  gap: 18px;
}

.admin-request-card {
  padding: 30px;
  background: white;
  border: 1px solid var(--line);
}

.admin-request-top,
.admin-contact-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
}

.admin-request-top > div,
.admin-contact-row > div {
  display: grid;
  gap: 7px;
}

.admin-request-top > div:last-child,
.admin-contact-row > div:last-child {
  justify-items: end;
  text-align: right;
}

.admin-request-top span,
.admin-request-top time {
  color: var(--muted);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
}

.admin-request-top h2 {
  margin: 0;
  font-size: 25px;
  font-weight: 600;
}

.admin-request-top em {
  padding: 7px 10px;
  color: var(--blue-deep);
  background: var(--blue-pale);
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
}

.admin-request-meta {
  margin: 26px 0 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.admin-request-meta > div {
  padding: 15px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.admin-request-meta dt {
  color: var(--muted);
  font-size: 10px;
}

.admin-request-meta dd {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.6;
}

.admin-request-summary {
  margin-top: 24px;
}

.admin-request-summary strong {
  font-size: 12px;
}

.admin-request-summary p {
  margin: 10px 0 0;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.85;
  white-space: pre-wrap;
}

.admin-contact-row {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.6;
}

.admin-contact-row strong {
  color: var(--ink);
  font-size: 14px;
}

.admin-contact-row a {
  color: var(--blue-action);
}

.admin-empty,
.admin-access-denied {
  margin-top: 42px;
  padding: 42px;
  background: white;
  border: 1px solid var(--line);
  color: var(--ink-soft);
  font-size: 14px;
}

.admin-access-denied a {
  display: inline-block;
  margin-top: 15px;
  color: var(--blue-action);
  font-weight: 600;
}

.locale-en {
  font-family: "Avenir Next", "Segoe UI", "PingFang SC", "Noto Sans SC", Arial, sans-serif;
  --line-body: 1.72;
  --line-card: 1.64;
}

.locale-en .home-hero h1 {
  font-size: clamp(46px, 5vw, 72px);
  letter-spacing: -0.04em;
  line-height: 1.07;
}

.locale-en {
  --type-section-title: clamp(33px, 3.3vw, 46px);
}

.locale-en .home-about h2,
.locale-en .home-contact h2,
.locale-en .primary-overview h2,
.locale-en .primary-section-heading h2,
.locale-en .primary-principle h2,
.locale-en .primary-next h2,
.locale-en .about-philosophy-content > h2,
.locale-en .about-foundation-layout h2,
.locale-en .about-principle h2 {
  font-size: var(--type-section-title);
  letter-spacing: -0.035em;
}

.locale-en .primary-page-hero h1 {
  font-size: clamp(40px, 3.9vw, 58px);
  letter-spacing: -0.035em;
}

.locale-en .hero-title-split > span:last-child {
  font-size: clamp(27px, 2.6vw, 38px);
}

@media (max-width: 1120px) {
  .site-shell {
    width: min(calc(100% - 64px), 1440px);
  }

  .header-inner {
    gap: 24px;
  }

  .nav-primary {
    padding-inline: 10px;
  }

  .desktop-nav {
    font-size: 12px;
  }

  .nav-mega-item {
    padding-inline: 22px;
  }

  .home-hero-shade {
    background: linear-gradient(90deg, rgba(5, 47, 70, 0.98) 0%, rgba(6, 68, 95, 0.92) 56%, rgba(7, 93, 120, 0.46) 100%);
  }

  .home-contact-panel {
    gap: 6vw;
  }
}

@media (max-width: 960px) {
  :root {
    --header-height: 72px;
    --space-section: 80px;
    --space-section-end: 84px;
    --space-section-compact: 70px;
    --space-heading-grid: 40px;
    --space-copy: 26px;
    --space-column: 48px;
  }

  .desktop-nav {
    display: none;
  }

  .header-inner {
    display: flex;
    justify-content: space-between;
  }

  .header-tools {
    display: flex;
  }

  .mobile-menu {
    display: block;
  }

  .home-hero,
  .home-hero-inner {
    min-height: 590px;
  }

  .home-about-layout,
  .home-contact-panel,
  .primary-page-hero-copy,
  .primary-overview-layout,
  .primary-principle-layout,
  .primary-next-layout,
  .contact-request-layout {
    grid-template-columns: 1fr;
  }

  .home-about-layout,
  .home-contact-panel,
  .primary-overview-layout,
  .primary-principle-layout,
  .primary-next-layout,
  .contact-request-layout {
    gap: 48px;
  }

  .primary-page-hero-copy {
    gap: 22px;
  }

  .management-hero-copy {
    grid-template-columns: 1fr;
  }

  .primary-page-hero-copy .eyebrow {
    grid-column: auto;
    margin-bottom: 0;
  }

  .primary-page-hero-copy > p:not(.eyebrow) {
    max-width: 760px;
    padding: 20px 0 0;
    border-top: 1px solid rgba(0, 121, 170, 0.3);
    border-left: 0;
  }

  .home-pillar-grid,
  .primary-detail-grid {
    grid-template-columns: 1fr;
  }

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

  .management-process-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .management-process-grid article {
    min-height: 170px;
    padding: 4px 0 44px 82px;
  }

  .management-process-grid article > span {
    position: absolute;
    top: 0;
    left: 0;
  }

  .management-process-grid article:not(:last-child)::after {
    top: 58px;
    left: 28px;
    width: 1px;
    height: calc(100% - 58px);
  }

  .management-process-grid h3 {
    margin-top: 0;
    padding-top: 0;
  }

  .management-output-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .home-pillar-card {
    min-height: 280px;
  }

  .primary-detail-card {
    min-height: 270px;
  }

  .home-contact-panel > div:last-child {
    max-width: 700px;
  }

  .primary-next-actions {
    max-width: 430px;
  }

  .footer-top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-items: start;
    gap: 38px 54px;
  }
}

@media (max-width: 680px) {
  :root {
    --utility-height: 30px;
    --primary-banner-height: 360px;
    --space-section: 68px;
    --space-section-end: 72px;
    --space-section-compact: 64px;
    --space-heading-grid: 32px;
    --space-copy: 22px;
    --space-column: 32px;
  }

  .site-shell {
    width: calc(100% - 36px);
  }

  .utility-inner {
    justify-content: flex-start;
    font-size: 10px;
  }

  .utility-action {
    display: none;
  }

  .region-switch > summary {
    padding-inline: 6px;
  }

  .region-switch-menu {
    width: min(300px, calc(100vw - 36px));
  }

  .brand-mark {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  .brand-logo-link {
    gap: 9px;
  }

  .brand-wordmark strong {
    font-size: 17px;
  }

  .mobile-menu > summary {
    width: 78px;
  }

  .home-hero,
  .home-hero-inner {
    min-height: 680px;
  }

  .home-hero-image {
    object-position: 63% center;
  }

  .home-hero-shade {
    background: linear-gradient(90deg, rgba(5, 47, 70, 0.98) 0%, rgba(6, 68, 95, 0.93) 72%, rgba(7, 93, 120, 0.66) 100%);
  }

  .home-hero-inner {
    padding-block: 52px;
  }

  .home-hero h1 {
    font-size: clamp(40px, 12vw, 54px);
    letter-spacing: -0.045em;
  }

  .home-hero-copy > p:not(.eyebrow) {
    margin-top: 28px;
    font-size: 14px;
    line-height: 1.85;
  }

  .hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 22px;
  }

  .hero-actions-single {
    margin-top: 28px;
    gap: 0;
  }

  .hero-principles {
    margin-top: 34px;
    gap: 10px 18px;
  }

  .home-pillar-card {
    min-height: 250px;
    padding: 24px;
  }

  .home-pillar-card h2 {
    font-size: 27px;
  }

  .primary-details {
    padding: var(--space-section) 0 var(--space-section-end);
  }

  .management-models,
  .management-focus,
  .management-process {
    padding: var(--space-section) 0 var(--space-section-end);
  }

  .home-about {
    padding: var(--space-section) 0;
  }

  .primary-overview,
  .primary-principle {
    padding: var(--space-section) 0;
  }

  .primary-overview-layout,
  .primary-principle-layout,
  .primary-next-layout,
  .management-output-layout {
    gap: 32px;
  }

  .primary-overview-layout > .eyebrow,
  .primary-principle-layout > .eyebrow {
    margin-bottom: 0;
  }

  .primary-detail-grid {
    margin-top: var(--space-heading-grid);
  }

  .management-model-grid,
  .management-focus-grid {
    margin-top: var(--space-heading-grid);
    grid-template-columns: 1fr;
  }

  .management-output-list {
    grid-template-columns: 1fr;
  }

  .management-model-card,
  .management-focus-card {
    min-height: 220px;
    padding: 24px;
  }

  .management-process-grid {
    margin-top: var(--space-heading-grid);
  }

  .management-process-outputs {
    margin-top: 44px;
    padding-top: 38px;
  }

  .home-contact {
    padding-bottom: 0;
  }

  .home-contact-panel {
    padding: 48px 0;
  }

  .primary-page-hero-inner {
    padding-block: 36px;
  }

  .primary-page-hero h1 {
    font-size: 37px;
  }

  .hero-title-split > span:last-child {
    margin-top: 12px;
    font-size: 28px;
  }

  .primary-page-hero-copy > p:not(.eyebrow) {
    font-size: 14px;
  }

  .primary-detail-card {
    min-height: 240px;
    padding: 24px;
  }

  .primary-detail-card h3 {
    padding-top: 42px;
    font-size: 23px;
  }

  .primary-next {
    padding: var(--space-section-compact) 0;
  }

  .primary-next-layout {
    gap: 32px;
  }

  .footer-top {
    padding-block: 40px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 24px;
  }

  .footer-brand-copy,
  .footer-location-group {
    grid-column: 1 / -1;
  }

  .contact-request-section {
    padding: var(--space-section) 0 var(--space-section-end);
  }

  .contact-request-layout {
    gap: 32px;
  }

  .cooperation-form {
    margin-top: 32px;
    padding: 24px;
  }

  .cooperation-form-grid {
    grid-template-columns: 1fr;
  }

  .form-field-wide {
    grid-column: auto;
  }

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

  .form-submit-row .button {
    justify-self: start;
  }

  .admin-shell {
    width: calc(100% - 32px);
  }

  .admin-header-inner {
    min-height: 86px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
  }

  .admin-header-inner > div:last-child {
    width: 100%;
    justify-content: space-between;
  }

  .admin-header-inner > div:first-child > span {
    padding-left: 12px;
  }

  .admin-content {
    padding-block: 48px 68px;
  }

  .admin-title-row > strong {
    font-size: 48px;
  }

  .admin-request-card {
    padding: 22px;
  }

  .admin-request-top,
  .admin-contact-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-request-top > div:last-child,
  .admin-contact-row > div:last-child {
    justify-items: start;
    text-align: left;
  }

  .admin-request-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .locale-en .home-hero h1 {
    font-size: clamp(39px, 11vw, 52px);
  }

  .locale-en .primary-page-hero h1 {
    font-size: 34px;
  }

  .locale-en .hero-title-split > span:last-child {
    font-size: 26px;
  }
}

@media (max-width: 1100px) {
  .about-philosophy-layout,
  .about-meaning-layout,
  .about-foundation-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .primary-detail-grid-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  :root,
  .locale-en {
    --type-section-title: 32px;
    --type-section-label: 14px;
    --type-card-title: 23px;
  }

  .about-philosophy,
  .about-meaning-section,
  .about-foundation,
  .about-principle {
    padding: var(--space-section) 0 var(--space-section-end);
  }

  .about-philosophy-layout,
  .about-meaning-layout,
  .about-foundation-layout,
  .about-principle .primary-principle-layout {
    gap: 32px;
  }

  .about-section-label {
    margin-bottom: 0;
  }

  .about-philosophy-content > h2,
  .about-foundation-layout h2,
  .about-principle h2,
  .about-meaning-card > span {
    font-size: var(--type-section-title);
  }

  .about-section-label {
    font-size: var(--type-section-label);
  }

  .about-meaning-grid {
    margin-top: var(--space-heading-grid);
    grid-template-columns: 1fr;
  }

  .primary-detail-grid-four {
    grid-template-columns: 1fr;
  }

  .about-meaning-card {
    min-height: 168px;
    padding: 24px;
    gap: 22px;
  }

}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Current identity: 2026-10-23 */
.brand-lockup { width:240px; height:auto; max-width:none; }
.footer-lockup { width:260px; height:auto; }
.ci-about-link { padding-top:64px; padding-bottom:64px; }
.ci-about-link p { margin:20px 0; }
.ci-page { background:#fff; }
.ci-hero { padding:80px 0 48px; border-bottom:1px solid var(--line); }
.ci-hero h1 { font-size:clamp(32px,5vw,56px); margin:16px 0 24px; }
.ci-hero p { max-width:760px; line-height:1.9; }
.ci-nav { display:flex; flex-wrap:wrap; gap:24px; margin-top:30px; }
.ci-nav a,.ci-downloads a { text-decoration:underline; text-underline-offset:5px; }
.ci-section { padding:64px 0; border-bottom:1px solid var(--line); scroll-margin-top:130px; }
.ci-section h2 { font-size:32px; margin:0 0 24px; }
.ci-section h3 { font-size:20px; margin:24px 0 12px; }
.ci-section p { line-height:1.9; max-width:800px; }
.ci-logo-stage { padding:60px 32px; margin:32px 0; background:#f4f9fb; display:flex; justify-content:center; }
.ci-logo-stage img { width:min(100%,575px); height:auto; }
.ci-downloads { display:flex; flex-wrap:wrap; gap:18px 30px; margin:28px 0; }
.ci-status { color:#52616a; font-size:14px; }
.ci-section details { border-top:1px solid var(--line); padding:22px 0; }
.ci-section summary { font-size:20px; cursor:pointer; }
.ci-section details p { white-space:pre-line; }
.ci-section details h4 { margin-bottom:8px; }
@media(max-width:760px) { .brand-lockup { width:210px; } .ci-hero {padding-top:44px;} .ci-section {padding:40px 0;} .ci-logo-stage {padding:40px 20px;} }
@media(max-width:360px) { .brand-lockup {width:190px;} }

/* Spacious footer, aligned with the approved myplus reference */
.footer-top { grid-template-columns: minmax(260px, 1fr) minmax(160px, 220px) minmax(180px, 240px); padding-block:64px; }
.footer-bottom { min-height:112px; padding-block:36px; }
@media(max-width:760px) { .footer-top {grid-template-columns:1fr 1fr; gap:36px 24px;} .footer-brand-copy {grid-column:1 / -1;} .footer-bottom {min-height:112px; padding-block:28px; justify-content:center;} }

/* Dental industry: quiet section colours and consistently aligned models. */
.dental-industry-page .dental-section {
  padding-block: clamp(56px, 6vw, 88px);
  scroll-margin-top: 120px;
}
.dental-section .primary-section-heading {
  max-width: 920px;
}
.dental-section .primary-section-heading h2 {
  margin: 0 0 22px;
}
.dental-section .primary-section-heading > p {
  margin: 0;
  line-height: 1.85;
  color: var(--ink-soft);
}
.dental-section-dental-care { background: #eef8fc; }
.dental-section-manufacturing { background: #eef7f4; }
.dental-section-models { background: #f7f9fb; }
.dental-section-operations { background: #eef6fa; }
.dental-section-principle { background: #fff; }
.dental-section-dental-care h2 { color: #086b91; }
.dental-section-manufacturing h2 { color: #23685d; }
.dental-model-grid {
  gap: 20px;
  border: 0;
  align-items: stretch;
}
.dental-model-grid .dental-model-card {
  min-height: 230px;
  padding: 34px 30px;
  border: 1px solid #cce3ed;
  border-top: 3px solid #369bc2;
  background: #eaf5fb;
  border-radius: 8px;
}
.dental-model-grid .dental-model-card:nth-child(2) {
  background: #edf7f3;
  border-color: #cfe5dc;
  border-top-color: #4a9682;
}
.dental-model-grid .dental-model-card:nth-child(3) {
  background: #f2f1f9;
  border-color: #deddef;
  border-top-color: #8580b0;
}
.dental-model-grid .dental-model-card h3 {
  margin: 0 0 22px;
  color: #125d7a;
  font-size: 24px;
  line-height: 1.4;
}
.dental-model-grid .dental-model-card:nth-child(2) h3 { color: #286657; }
.dental-model-grid .dental-model-card:nth-child(3) h3 { color: #59547f; }
.dental-model-grid .dental-model-card p {
  margin: 0;
  color: #425e6b;
  line-height: 1.85;
}
.dental-section-operations .button { margin-top: 28px; }
@media (max-width: 720px) {
  .dental-model-grid { grid-template-columns: 1fr; gap: 16px; }
  .dental-model-grid .dental-model-card { min-height: 0; padding: 26px 24px; }
  .dental-model-grid .dental-model-card h3 { font-size: 22px; margin-bottom: 16px; }
}

/* Lift the copyright row while leaving a calm, open lower edge. */
.site-footer .footer-bottom {
  min-height: 118px;
  padding-top: 25px;
  padding-bottom: 58px;
  align-items: flex-start;
}
.footer-wechat { display: grid; gap: 22px; }
.footer-wechat-items { display: flex; gap: 25px; align-items: flex-start; }
.footer-channel {
  padding: 0;
  display: grid;
  justify-items: start;
  gap: 10px;
  border: 0;
  background: none;
  color: rgba(255,255,255,.72);
  font: inherit;
  font-size: 12px;
  line-height: 1.5;
}
.footer-channel svg { width: 28px; height: 28px; }
.footer-channel:disabled { opacity: .7; cursor: default; }
@media(max-width:760px) {
  .footer-wechat { grid-column: 1 / -1; }
  .site-footer .footer-bottom { padding-top: 24px; padding-bottom: 48px; align-items: flex-start; justify-content: flex-start; }
}

.footer-brand-copy .footer-wechat { margin-top: 30px; }

.footer-social-icons { margin-left: auto; display: flex; align-items: center; }
.footer-social-icons .footer-channel { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; }
.footer-social-icons .footer-channel svg { width: 26px; height: 26px; }
.footer-social-icons .footer-channel:disabled { opacity: 1; color: rgba(255,255,255,.78); }
.site-footer .footer-bottom > span:nth-child(2) { margin-left: auto; }
@media(max-width:760px) {
  .site-footer .footer-bottom { display: grid; grid-template-columns: 1fr auto; }
  .site-footer .footer-bottom > span:nth-child(2) { grid-column: 1 / -1; grid-row: 2; margin-left: 0; }
  .footer-social-icons { grid-column: 2; grid-row: 1; }
}

/* Placement only; all email entry appearance is defined in the shared standard below. */
.hero-actions-email { width: 100%; }
.primary-next-actions:has(.email-entry) { width: min(100%, 460px); }
.contact-principle .email-entry { margin-top: 28px; }
.dental-industry-page .primary-overview .email-entry { margin-top: 26px; }
@media(max-width:600px) { .primary-next-actions:has(.email-entry) { width: 100%; } }

/* Homepage refresh: Pinghe blue navigation, Myplus charcoal chrome, light hero. */
.utility-bar { background: #454545; color: #f4f4f4; }
.utility-bar a, .utility-bar summary { color: #f4f4f4; }
.site-header { background: #00b2eb; border-bottom: 1px solid rgba(255,255,255,.18); backdrop-filter: none; }
.site-header .desktop-nav { color: #fff; }
.site-header .nav-caret { color: #fff; }
.site-header .nav-group:hover .nav-primary,
.site-header .nav-group:focus-within .nav-primary,
.site-header .nav-group.active .nav-primary { background: rgba(0,66,95,.16); color: #fff; }
.site-header .brand-lockup { width: 196px; height: auto; max-height: 60px; object-fit: contain; }
.site-header .mobile-menu > summary { color: #fff; border-color: rgba(255,255,255,.6); }
.site-header .nav-dropdown-link { color: #28444f; }
.site-header .nav-dropdown-link:hover { background: #e9f8fd; color: #006c95; }
.site-header a:focus-visible { outline-color: #fff; }
.site-footer { background: #242424; }
.site-footer .footer-lockup { width: 240px; height: auto; }
.home-hero, .home-hero-static { background: #fafafa; color: #303030; }
.home-hero .home-hero-image { left: auto!important; right: 0!important; width: 65%!important; height: 100%!important; object-fit: cover; object-position: right center; }
.home-hero .home-hero-grid { display: none; }
.home-hero .home-hero-shade { background: linear-gradient(90deg,#fafafa 0%,#fafafa 38%,rgba(250,250,250,.97) 46%,rgba(250,250,250,.5) 64%,rgba(250,250,250,0) 85%); }
.home-hero .home-hero-inner { min-height: 620px; padding-block: 82px; }
.home-hero-static .home-hero-copy { max-width: 600px; width: 48%; }
.home-hero-static h1 { font-size: clamp(40px,4.2vw,64px); font-weight: 650; line-height: 1.35; letter-spacing: -.035em; }
.home-hero h1, .home-hero h1 span { color: #303030; }
.home-hero .home-hero-copy > p:not(.eyebrow) { color: #52626b; max-width: 470px; font-size: 16px; margin-top: 24px; }
.home-hero .hero-actions { margin-top: 32px; }
@media(max-width:1000px) {
  .home-hero-static .home-hero-copy { width: 58%; }
}
@media(max-width:720px) {
  .site-header .brand-lockup { width: 158px; max-height: 52px; }
  .home-hero .home-hero-inner { min-height: 640px; align-items: flex-end; padding-top: 270px; padding-bottom: 52px; }
  .home-hero-static .home-hero-copy { width: 100%; max-width: 100%; }
  .home-hero .home-hero-image { width: 100%!important; height: 300px!important; object-position: right center; }
  .home-hero .home-hero-shade { background: linear-gradient(0deg,#fafafa 0%,#fafafa 48%,rgba(250,250,250,.15) 90%); }
  .home-hero-static h1 { font-size: clamp(34px,8vw,44px); }
}

/* Clear edges and alternating homepage surfaces. */
.home-hero .home-hero-image {
  width: 58%!important;
  right: max(48px, calc((100% - 1440px) / 2))!important;
  mask-image: linear-gradient(90deg,transparent 0%,#000 28%,#000 82%,transparent 100%);
}
.home-hero .home-hero-shade {
  background: linear-gradient(90deg,#fafafa 0%,#fafafa 37%,rgba(250,250,250,.94) 46%,rgba(250,250,250,.32) 65%,transparent 85%);
}
.home-pillars { background: #eaf2fc; padding-block: 72px; }
.home-pillar-grid { background: transparent; border: 0; gap: 0; }
.home-pillar-card { background: transparent; border: 0; border-right: 1px solid #ccdae8; padding: 12px 38px; }
.home-pillar-card:first-child { padding-left: 0; }
.home-pillar-card:last-child { border-right: 0; padding-right: 0; }
.home-pillar-card:hover,.home-pillar-card:focus-visible { color: var(--ink); background: rgba(255,255,255,.45); box-shadow: none; }
.home-pillar-card:hover p,.home-pillar-card:focus-visible p,
.home-pillar-card:hover .home-pillar-points li,.home-pillar-card:focus-visible .home-pillar-points li { color: var(--ink-soft); }
.home-contact { background: #F0F7FA; border: 0; }
.site-footer .footer-link-group:last-child { justify-self: end; text-align: right; }
.site-footer .footer-link-group:last-child nav { align-items: flex-end; }
.site-footer .footer-bottom { align-items: center; }
.site-footer .footer-social-icons { margin-left: auto; justify-content: flex-end; }
.site-footer .footer-social-icons .footer-channel { justify-content: flex-end; width: 26px; }
@media(max-width:760px) {
  .home-pillars { padding-block: 40px; }
  .home-pillar-grid { grid-template-columns: 1fr; }
  .home-pillar-card,.home-pillar-card:first-child,.home-pillar-card:last-child { padding: 28px 0; border-right: 0; border-bottom: 1px solid #ccdae8; min-height: 0; gap: 28px; }
  .home-pillar-card:last-child { border-bottom: 0; }
  .home-hero .home-hero-image { width: 100%!important; right: 0!important; mask-image: linear-gradient(0deg,transparent,#000 35%); }
  .home-hero .home-hero-shade { background: linear-gradient(0deg,#fafafa 0%,#fafafa 48%,rgba(250,250,250,.15) 90%); }
}

/* Navigation-only wordmark and a compact, right-anchored footer link group. */
.site-header .brand-lockup { width: 184px; max-height: 56px; }
.site-footer .footer-top { grid-template-columns: minmax(240px,1fr) 160px 196px; column-gap: 64px; }
.site-footer .footer-link-group { justify-self: start; text-align: left; }
.site-footer .footer-link-group:last-child { justify-self: stretch; text-align: left; }
.site-footer .footer-link-group:last-child nav { align-items: flex-start; }
.site-footer .footer-heading { display: block; margin-bottom: 18px; color: #aeb2b5; }
.site-footer .footer-link-group nav { gap: 14px; }
.site-footer .footer-link-group nav a { line-height: 1.6; color: #d0d1d2; }
@media(max-width:760px) {
  .site-header .brand-lockup { width: 150px; max-height: 48px; }
  .site-footer .footer-top { grid-template-columns: 1fr 1fr; column-gap: 32px; }
  .site-footer .footer-brand-copy { grid-column: 1 / -1; }
}

/* Homepage business-scene hero; preserve the quiet copy area and natural focal point. */
.home-hero .home-hero-image { width: 100%!important; right: 0!important; object-position: center center; mask-image: none; }
.home-hero .home-hero-shade { background: linear-gradient(90deg,rgba(250,250,250,.24),rgba(250,250,250,.06) 55%,transparent); }
@media(max-width:720px) {
 .home-hero .home-hero-image { width: 100%!important; height: 300px!important; object-position: right center; }
 .home-hero .home-hero-shade { background: linear-gradient(0deg,#fafafa 0%,#fafafa 48%,rgba(250,250,250,.1) 90%); }
}

/* Shared myplus container: 1320px including responsive inner gutters. */
.site-shell { box-sizing: border-box; width: 100%; max-width: 1320px; margin-inline: auto; padding-inline: 48px; }
@media(max-width:1150px) { .site-shell { width: 100%; padding-inline: 32px; } }
@media(max-width:700px) { .site-shell { width: 100%; padding-inline: 22px; } }

/* Template 1 alignment — 2026-10-24, website version 92. */
.utility-inner .region-switch > summary { padding-inline:0; }
.desktop-nav { font-weight:400; }
.site-footer { background:#242424; padding-block:48px 64px; }
.site-footer .footer-top { grid-template-columns:minmax(0,1fr) max-content max-content; gap:64px; padding-block:0; }
.site-footer .footer-brand-copy { padding-top:4px; }
.site-footer .footer-lockup { display:block; width:240px; max-width:100%; height:auto; }
.site-footer .footer-link-group { display:block; text-align:left; justify-self:start; }
.site-footer .footer-link-group:last-child { justify-self:stretch; text-align:left; }
.site-footer .footer-heading { margin:0 0 20px; font-size:16px; font-weight:700; line-height:24px; letter-spacing:normal; color:#fff; }
.site-footer .footer-link-group nav { display:grid; gap:8px; justify-items:start; }
.site-footer .footer-link-group nav a { display:flex; align-items:center; min-height:32px; font-size:14px; font-weight:400; line-height:24px; color:#e0e0e0; }
.site-footer .footer-link-group nav a:hover { color:#fff; }
.site-footer .footer-locale { margin-top:36px; padding-bottom:20px; }
.footer-locale .region-switch { display:inline-block; z-index:30; }
.footer-locale .region-switch > summary { min-height:44px; padding:0; color:#e0e0e0; font-size:16px; font-weight:400; letter-spacing:normal; }
.footer-locale .region-switch > summary > svg { transform:rotate(180deg); }
.footer-locale .region-switch[open] > summary > svg { transform:rotate(0); }
.footer-locale .region-switch-menu { top:auto; bottom:calc(100% + 8px); }
.site-footer .footer-bottom { position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; min-height:0; padding-top:24px; padding-bottom:0; border:0; font-size:14px; line-height:24px; color:#e0e0e0; }
.site-footer .footer-bottom::before { content:""; position:absolute; top:0; left:48px; right:48px; border-top:1px solid #555; }
.site-footer .footer-social-icons { margin-left:auto; }
.site-footer .footer-social-icons .footer-channel { width:22px; height:24px; padding:0; justify-content:center; }
.site-footer .footer-social-icons .footer-channel svg { width:22px; height:22px; }
.site-footer a:focus-visible,.site-footer summary:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media(max-width:1150px){.site-footer .footer-bottom::before{left:32px;right:32px}.site-footer .footer-top{gap:32px}}
@media(max-width:760px){.site-footer .footer-top{grid-template-columns:1fr 1fr;gap:32px}.site-footer .footer-brand-copy{grid-column:1/-1}}
@media(max-width:700px){.site-footer{padding-block:36px 40px}.site-footer .footer-bottom::before{left:22px;right:22px}.site-footer .footer-locale{margin-top:32px;padding-bottom:16px}.site-footer .footer-heading{margin-bottom:16px}.site-footer .footer-link-group nav{gap:0}.site-footer .footer-link-group nav a{min-height:44px}.site-footer .footer-bottom{padding-top:20px;gap:16px}.footer-locale .region-switch>summary{font-size:14px}}
@media(max-width:680px){.utility-inner{justify-content:space-between}.utility-action{display:inline-flex}}

/* MyPlus screenshot proportions — 2026-10-24, version 93. */
.site-header .brand-lockup{width:168px;height:auto;max-height:56px}
.desktop-nav{font-size:15px;font-weight:500;gap:12px}
.utility-inner{align-items:stretch}
.utility-action{padding-inline:16px;background:var(--brand-blue);color:#fff!important;font-size:12px;justify-content:center}
.utility-action:hover{background:#008dbd}
@media(max-width:1120px){.desktop-nav{font-size:14px;gap:4px}}
@media(max-width:760px){.site-header .brand-lockup{width:144px;max-height:48px}}

/* Match MyPlus desktop footer height; keep mobile content-driven. */
/* Footer navigation follows its content rather than a fixed reference height. */
.site-footer .footer-top{min-height:0}

/* Live MyPlus header measurement, 2026-10-24: 40px utility + 80px navigation. */
:root{--utility-height:40px;--header-height:80px}
.utility-bar{font-size:12px;line-height:1.8}
.utility-inner{height:40px;min-height:40px;align-items:center}
.utility-bar .region-switch>summary{min-height:40px;height:40px;font-size:12px;line-height:1.8;padding-block:6px;letter-spacing:normal}
.utility-action{height:38px;min-height:38px;padding:0 15px;font-size:12px;line-height:1.8}
@media(max-width:700px){:root{--header-height:72px}}
@media(max-width:680px){:root{--utility-height:40px}.utility-inner{font-size:12px;justify-content:space-between}.utility-bar .region-switch>summary{font-size:12px}}

/* Match MyPlus locale typography and optical spacing. */
.region-switch>summary{font-weight:400;gap:8px;white-space:nowrap}
.region-current-name{font-weight:500}
.region-current-language,.region-separator{opacity:.8}
.region-switch>summary>svg{width:16px;height:16px;flex:0 0 16px;margin-left:5px;stroke-width:1.5;align-self:center}
@media(max-width:480px){.region-switch>summary{gap:6px}}

/* Match MyPlus at split-window/tablet widths as well as desktop. */
@media(min-width:701px) and (max-width:960px){:root{--header-height:80px}}

/* Slight optical reduction of header wordmark; preserve proportions. */
.site-header .brand-lockup{width:156px;height:auto;max-height:50px}
@media(max-width:760px){.site-header .brand-lockup{width:136px;max-height:44px}}

/* Optical centering by the P body, excluding the g descender. */
.site-header .brand-lockup{transform:translateY(5px)}
@media(max-width:760px){.site-header .brand-lockup{transform:translateY(4.5px)}}

/* Same real Medium face as MyPlus for primary navigation. */
@font-face{font-family:PingheNavigationNoto;src:url('/brand/NotoSansCJKsc-Medium.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
.desktop-nav .nav-primary>a{font-family:PingheNavigationNoto,"Noto Sans SC",sans-serif;font-weight:500;font-synthesis:none;color:#fff}

/* About is a direct link aligned to the utility action right edge. */
.desktop-nav .nav-group:last-child .nav-primary{padding-right:0}
.mobile-menu .mobile-direct-link{display:flex;align-items:center;min-height:48px;padding:14px 0;font:inherit;color:inherit;border-bottom:1px solid var(--line)}

/* Oral industry homepage entry cards — restrained surfaces and clear feedback. */
.home-pillars{background:#f2f8fa;padding-block:64px}
.home-pillar-grid{gap:24px;background:transparent;border:0;overflow:visible;align-items:stretch}
.home-pillar-card,.home-pillar-card:first-child,.home-pillar-card:last-child{position:relative;min-width:0;min-height:350px;padding:32px;background:#fff;border:1px solid #dfecef;border-radius:8px;color:#183b49;gap:28px;box-shadow:0 3px 12px rgba(25,65,78,.025);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.home-pillar-card h2{margin:0;font-size:28px;line-height:1.4;font-weight:600;letter-spacing:.025em;color:#183b49}
.home-pillar-card p{margin-top:18px;line-height:1.85;font-size:14px;color:#546d77;min-height:52px}
.home-pillar-points{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:24px}
.home-pillar-points li{padding:0;border:0;font-size:13px;line-height:1.8;color:#526c77}
.home-pillar-points li::before{content:"";display:inline-block;width:4px;height:4px;margin-right:7px;vertical-align:middle;background:#59a7b8;border-radius:50%}
.home-pillar-card strong{min-height:44px;padding-top:18px;border-top:1px solid #e9f0f2;font-size:14px;color:#12677f;gap:12px}
.home-pillar-card strong svg{flex-shrink:0;transition:transform .18s ease}
.home-pillar-card:hover,.home-pillar-card:focus-visible{color:#183b49;background:#fff;border-color:#8bc9d8;box-shadow:0 10px 28px rgba(25,65,78,.07);transform:translateY(-3px)}
.home-pillar-card:hover p,.home-pillar-card:focus-visible p,.home-pillar-card:hover .home-pillar-points li,.home-pillar-card:focus-visible .home-pillar-points li{color:#546d77;border:0}
.home-pillar-card:focus-visible{outline:2px solid #12718d;outline-offset:4px}
.home-pillar-card:hover strong svg{transform:translateX(4px)}
.home-pillar-card:active{transform:translateY(0);background:#f8fcfd}
@media(max-width:1100px) and (min-width:761px){.home-pillar-grid{gap:16px}.home-pillar-card,.home-pillar-card:first-child,.home-pillar-card:last-child{padding:24px}.home-pillar-card h2{font-size:24px}}
@media(max-width:760px){.home-pillars{padding-block:36px}.home-pillar-grid{grid-template-columns:1fr;gap:16px}.home-pillar-card,.home-pillar-card:first-child,.home-pillar-card:last-child{padding:26px;min-height:0;gap:24px}.home-pillar-card h2{font-size:25px}.home-pillar-card p{min-height:0}.home-pillar-points{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.home-pillar-card,.home-pillar-card strong svg{transition:none}.home-pillar-card:hover,.home-pillar-card:focus-visible,.home-pillar-card:hover strong svg{transform:none}}

/* Locale menus use their own light-surface colors, independent of dark chrome. */
.utility-bar .region-switch-menu a,
.site-footer .region-switch-menu a { color: #33454f; font-weight: 500; opacity: 1; }
.utility-bar .region-switch-menu a:hover,
.utility-bar .region-switch-menu a.current,
.site-footer .region-switch-menu a:hover,
.site-footer .region-switch-menu a.current { color: #00658f; background: #eaf6fc; }
.utility-bar .region-switch-menu a:focus-visible,
.site-footer .region-switch-menu a:focus-visible { color: #00658f; background: #eaf6fc; outline: 2px solid #0079aa; outline-offset: -2px; }
.region-switch-menu strong { color: #0079aa; }

/* Transparent bridges keep pointer travel continuous across locale popup gaps. */
.region-switch-menu::before { content: ""; position: absolute; left: 0; right: 0; height: 10px; bottom: 100%; }
.footer-locale .region-switch-menu::before { bottom: auto; top: 100%; }

/* Site-wide email entry standard: connected input and enquiry action. */
.email-entry{display:flex;flex-direction:row;width:min(100%,460px);padding:0;gap:0;background:transparent;border:0;border-radius:0;box-shadow:none;align-items:stretch}
.email-entry-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.email-entry input{flex:1;min-width:0;width:0;height:50px;min-height:50px;padding:0 16px;color:#183b4a;background:#fff;border:1px solid #cdd9df;border-right:0;border-radius:4px 0 0 4px;box-shadow:none;font:inherit;font-size:16px;line-height:normal;transition:border-color .16s ease}
.email-entry input::placeholder{color:#707f88;opacity:1}
.email-entry input:hover{border-color:#92aab5}
.email-entry input:focus{position:relative;z-index:1;border-color:#007b9f;outline:1px solid #007b9f;outline-offset:0;box-shadow:none}
.email-entry button{flex:none;height:50px;min-height:50px;padding:0 20px;border:0;border-radius:0 4px 4px 0;background:#007fa4;color:#fff;font:inherit;font-size:15px;font-weight:500;line-height:1.4;white-space:nowrap;cursor:pointer;box-shadow:none;transform:none;transition:background-color .16s ease}
.email-entry button:hover{background:#006d8d;box-shadow:none;transform:none}
.email-entry button:focus-visible{outline:2px solid #006581;outline-offset:3px}
.home-hero .email-entry{margin-top:32px}
@media(max-width:600px){.email-entry input{padding-inline:12px}.email-entry button{padding-inline:16px}.home-hero .email-entry{margin-top:28px}}
@media(max-width:360px){.email-entry input{padding-inline:10px}.email-entry button{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.email-entry input,.email-entry button{transition:none}}

.dental-brand-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; margin-top:44px; }
.dental-brand { padding-top:28px; border-top:1px solid #cbded8; }
.dental-brand h3 { font-size:26px; line-height:1.3; margin:0 0 12px; }
.dental-brand p { max-width:54ch; line-height:1.85; }
.dental-brand .dental-brand-meta { color:#536b65; font-size:14px; margin:0 0 18px; }
.dental-brand-link { display:inline-block; margin-top:18px; color:#00658f; text-decoration:underline; text-underline-offset:5px; }
@media(max-width:700px){.dental-brand-grid{grid-template-columns:1fr;gap:32px;margin-top:32px}.dental-brand h3{font-size:23px}}

/* Shared browse order: business, company, then partnership. */
.site-footer .footer-top{grid-template-columns:minmax(0,1fr) max-content max-content max-content;column-gap:48px}
@media(max-width:1150px){.site-footer .footer-top{column-gap:32px}}
@media(max-width:960px){.site-footer .footer-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.site-footer .footer-brand-copy{grid-column:1/-1}}
@media(max-width:480px){.site-footer .footer-top{column-gap:12px}.site-footer .footer-heading{font-size:15px}.site-footer .footer-link-group nav a{font-size:13px}.site-footer .footer-link-group:last-child{min-width:0}}

.site-footer .footer-brand-children { list-style:none; padding:0 0 6px 14px; margin:0; display:grid; gap:0; }
.site-footer .footer-link-group nav .footer-brand-children a { font-size:13px; color:#c4c9cd; min-height:30px; line-height:24px; gap:5px; }
.site-footer .footer-link-group nav .footer-brand-children a:hover { color:#fff; }
@media(max-width:700px){.site-footer .footer-link-group nav .footer-brand-children a{min-height:44px}}

/* Continuous three-option locale panel: compact, opaque and full-width. */
.region-switch-menu{width:min(280px,calc(100vw - 36px));padding:0;gap:0;background:#fff;border:1px solid #dce5e9;border-radius:0;box-shadow:0 8px 24px rgba(7,48,91,.10)}
.region-switch-menu a{min-height:52px;padding:0 22px}

.home-pillar-card strong.home-pillar-more { justify-content:flex-end; align-self:stretch; margin-top:auto; border-top:0; font-size:14px; font-weight:500; line-height:24px; padding-top:12px; min-height:36px; }
.home-pillar-card:hover .home-pillar-more { color:#00658f; text-decoration:underline; text-underline-offset:5px; }

.home-pillar-card,.home-pillar-card:first-child,.home-pillar-card:last-child { min-height:310px; gap:24px; }
.home-pillar-card p { margin-top:16px; }
.home-pillar-points { margin-top:20px; }
@media(max-width:760px){.home-pillar-card,.home-pillar-card:first-child,.home-pillar-card:last-child{min-height:0;gap:20px}.home-pillar-card strong.home-pillar-more{padding-top:4px}}

/* Approved musical business journey: one line, lively opening and calm continuation. */
.home-melody{background:#fff;padding:80px 0 72px;overflow:hidden}
.home-melody .home-pillar-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:visible;align-items:start}
.home-melody-line{position:absolute;left:0;top:0;width:100%;height:240px;overflow:visible;pointer-events:none;fill:none;stroke:#00B2EB;stroke-width:1.5}
.home-melody-line path{vector-effect:non-scaling-stroke}
.home-melody .home-pillar-card,.home-melody .home-pillar-card:first-child,.home-melody .home-pillar-card:last-child{position:relative;margin-top:180px;padding:36px 42px 0 0;min-height:0;gap:28px;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;transition:none}
.home-melody .home-pillar-card:nth-of-type(2){margin-top:110px}
.home-melody .home-pillar-card:nth-of-type(3){margin-top:40px;padding-right:0}
.home-melody-node{position:absolute;left:0;top:0;width:18px;height:18px;transform:translate(-50%,-50%);background:#00B2EB;border-radius:50%;box-shadow:0 0 0 7px #fff}
.home-melody .home-pillar-card h2{font-size:30px;letter-spacing:0;line-height:1.4}
.home-melody .home-pillar-card p{font-size:16px;line-height:1.85;min-height:90px;margin-top:22px}
.home-melody .home-pillar-points{gap:6px 14px;margin-top:24px}
.home-melody .home-pillar-points li{font-size:13px}
.home-melody .home-pillar-points li:first-child::before{display:none}
.home-melody .home-pillar-points li::before{width:3px;height:3px;background:#526c77}
.home-melody .home-pillar-card strong.home-pillar-more{color:#006b8f;margin-top:0;gap:10px;padding-top:8px}
.home-melody .home-pillar-card:hover,.home-melody .home-pillar-card:focus-visible{transform:none;background:transparent;box-shadow:none}
@media(max-width:900px){.home-melody .home-pillar-card,.home-melody .home-pillar-card:first-child,.home-melody .home-pillar-card:last-child{padding-right:24px}.home-melody .home-pillar-card h2{font-size:25px}}
@media(max-width:760px){
.home-melody{padding:40px 0}.home-melody .home-pillar-grid{grid-template-columns:1fr;padding-left:18px}
.home-melody-line{display:none}.home-melody .home-pillar-grid::before{content:"";position:absolute;left:18px;top:0;bottom:30px;width:1px;background:linear-gradient(transparent,#00B2EB 32px,#00B2EB)}
.home-melody .home-pillar-card,.home-melody .home-pillar-card:first-child,.home-melody .home-pillar-card:last-child{margin-top:0;padding:0 0 38px 28px;gap:16px}
.home-melody-node{top:18px;width:12px;height:12px;box-shadow:0 0 0 5px #fff}
.home-melody .home-pillar-card p{min-height:0;margin-top:14px;font-size:15px}.home-melody .home-pillar-points{margin-top:18px}
.home-melody .home-pillar-card:last-child{padding-bottom:0}
}

/* Quiet, right-aligned action on the business-tag row. */
.home-melody .home-pillar-footer{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:24px}
.home-melody .home-pillar-footer .home-pillar-points{margin:0;gap:6px 10px;min-width:0}
.home-melody .home-pillar-card .home-pillar-footer strong.home-pillar-more{display:block;flex:0 0 auto;align-self:auto;min-height:0;margin:0;padding:0;border:0;font-size:13px;line-height:1.8;font-weight:400;color:#647985;text-decoration:none;transform:none;transition:color .2s ease}
.home-melody .home-pillar-card:hover .home-pillar-footer strong.home-pillar-more,.home-melody .home-pillar-card:focus-visible .home-pillar-footer strong.home-pillar-more{text-decoration:none;color:#00B2EB;transform:none}
@media(max-width:760px){.home-melody .home-pillar-footer{margin-top:18px}}

@media(prefers-reduced-motion:reduce){.home-melody .home-pillar-card .home-pillar-footer strong.home-pillar-more{transition:none}}

/* Dental industry banner: an active-scale digital laboratory concept. */
.dental-industry-page .primary-page-hero{background-image:linear-gradient(90deg,rgba(5,29,40,.70) 0%,rgba(5,29,40,.38) 46%,rgba(5,29,40,.08) 78%),url('/banner-dental-lab-20261025.webp');background-size:cover;background-position:center}
.dental-industry-page .primary-page-hero-copy{display:block;max-width:560px}
.dental-industry-page .primary-page-hero-copy>p:not(.eyebrow){max-width:420px;margin:24px 0 0;padding:0;border:0;background:none;backdrop-filter:none;color:#fff}
@media(max-width:700px){.dental-industry-page .primary-page-hero{background-position:58% center;background-image:linear-gradient(90deg,rgba(5,29,40,.72),rgba(5,29,40,.36)),url('/banner-dental-lab-20261025.webp')}.dental-industry-page .primary-page-hero-copy{max-width:100%}.dental-industry-page .primary-page-hero-copy>p:not(.eyebrow){max-width:320px;margin-top:20px}}

/* Dental enquiry: balanced two-column layout, stacked on small screens. */
.dental-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.dental-contact-layout h2{margin:0;max-width:100%}
.dental-contact-action{min-width:0}
.dental-contact-action p{margin:0;color:#647985;line-height:1.8}
.dental-contact-action .email-entry{width:100%;max-width:560px}
@media(max-width:760px){.dental-contact-layout{grid-template-columns:1fr;gap:24px}.dental-contact-action .email-entry{max-width:none}}

.investment-page-hero{background:#f4f7f6 url('/banner-medical-investment-20261025.webp') center center/cover no-repeat}
.investment-page-hero .primary-hero-grid{display:none}
.investment-page-hero .primary-page-hero-copy{display:block;max-width:530px}
.investment-page-hero h1,.investment-page-hero .hero-title-split>span:last-child{color:#12313d}
.investment-page-hero .primary-page-hero-copy>p:not(.eyebrow){max-width:420px;margin:24px 0 0;padding:0;border:0;background:none;backdrop-filter:none;color:#425f69}
@media(max-width:760px){.investment-page-hero{background-position:35% center;background-image:linear-gradient(90deg,rgba(248,250,248,.94),rgba(248,250,248,.72)),url('/banner-medical-investment-20261025.webp')}.investment-page-hero .primary-page-hero-copy{max-width:100%}}

.investment-focus .primary-detail-grid{border:0;gap:0;margin-top:44px}
.investment-focus .primary-detail-card{min-height:180px;padding:16px 36px;border:0;border-left:1px solid #e0e8eb;justify-content:flex-start}
.investment-focus .primary-detail-card:first-child{padding-left:0;border-left:0}
.investment-focus .primary-detail-card:last-child{padding-right:0}
.investment-focus .primary-detail-card h3{margin:0 0 20px;padding:0;line-height:1.35}
@media(max-width:760px){.investment-focus .primary-detail-grid{grid-template-columns:1fr;margin-top:30px}.investment-focus .primary-detail-card,.investment-focus .primary-detail-card:first-child{min-height:0;padding:26px 0;border-left:0;border-bottom:1px solid #e0e8eb}.investment-focus .primary-detail-card:last-child{border-bottom:0}.investment-focus .primary-detail-card h3{margin-bottom:12px}}

.about-page-hero{background:#f5f6f3 url('/banner-about-team-20261025.webp') center center/cover no-repeat}
.about-page-hero .primary-hero-grid{display:none}
.about-page-hero .primary-page-hero-copy{display:block;max-width:530px}
.about-page-hero h1,.about-page-hero .hero-title-split>span:last-child{color:#12313d}
.about-page-hero .primary-page-hero-copy>p:not(.eyebrow){max-width:420px;margin:24px 0 0;padding:0;border:0;background:none;backdrop-filter:none;color:#425f69}
@media(max-width:760px){.about-page-hero{background-position:35% center;background-image:linear-gradient(90deg,rgba(248,250,248,.94),rgba(248,250,248,.72)),url('/banner-about-team-20261025.webp')}.about-page-hero .primary-page-hero-copy{max-width:100%}}

/* About: company introduction, business foundation, then enquiry. */
.about-page .about-philosophy { background: #fff; }
.about-page .about-foundation { background: #EFF8FC; }
.about-brand-entry { justify-self: start; margin-top: 14px; color: #526E7A; font-size: 14px; line-height: 1.7; text-decoration: none; transition: color .2s ease; }
.about-brand-entry:hover, .about-brand-entry:focus-visible { color: #00B2EB; }
.about-brand-entry:focus-visible { outline: 2px solid #007FA4; outline-offset: 5px; }
.about-business-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 36px; }
.about-business-grid h3 { margin: 0 0 14px; color: var(--ink); font-size: 20px; font-weight: 500; line-height: 1.5; }
.about-business-grid p { margin: 0; color: var(--ink-soft); font-size: 16px; line-height: 1.9; }
@media (max-width: 900px) { .about-business-grid { grid-template-columns: 1fr; gap: 28px; } }
@media (max-width: 700px) { .about-business-grid { margin-top: 28px; } }
@media (prefers-reduced-motion: reduce) { .about-brand-entry { transition: none; } }

.partnership-page-hero{background:#f5f6f3 url('/banner-partnerships-20261025.webp') center center/cover no-repeat}
.partnership-page-hero .primary-hero-grid{display:none}
.partnership-page-hero .primary-page-hero-copy{display:block;max-width:530px}
.partnership-page-hero h1{color:#12313d}
.partnership-page-hero .primary-page-hero-copy>p:not(.eyebrow){max-width:420px;margin:24px 0 0;padding:0;border:0;background:none;backdrop-filter:none;color:#425f69}
@media(max-width:760px){.partnership-page-hero{background-position:35% center;background-image:linear-gradient(90deg,rgba(248,250,248,.94),rgba(248,250,248,.72)),url('/banner-partnerships-20261025.webp')}.partnership-page-hero .primary-page-hero-copy{max-width:100%}}

/* About enquiry uses a distinct pale-blue closing band. */
.about-page .about-foundation { padding-bottom: 40px; }
.about-page .primary-contact-cta { background: #E1F1F8; padding: 44px 0; }
.about-page .primary-contact-cta .primary-next-layout { align-items: center; }
.about-page .primary-contact-cta h2 { margin: 0; font-size: 32px; line-height: 1.4; }
@media (max-width: 720px) {
  .about-page .about-foundation { padding-bottom: 28px; }
  .about-page .primary-contact-cta { padding: 32px 0; }
  .about-page .primary-contact-cta h2 { font-size: 26px; }
  .about-page .primary-contact-cta .primary-next-layout { gap: 24px; }
}

/* About body uses the shared content edge without a label column. */
.about-page .about-philosophy-layout,
.about-page .about-foundation-layout { display: block; }
.about-page .about-philosophy-content { max-width: 960px; }
.about-page .about-foundation-layout > div { max-width: none; }
.about-page .about-business-grid { column-gap: 56px; }
.about-page .about-business-grid p { max-width: 340px; }
@media (max-width: 900px) {
  .about-page .about-business-grid p { max-width: 600px; }
}

/* Partnership page: directions followed by a single enquiry form. */
.contact-streamlined .primary-section-heading{display:block;margin-bottom:40px}
.contact-direction-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:0}
.contact-direction-grid .primary-detail-card{min-height:0;padding:8px 36px;border:0;border-left:1px solid #dfe8ec;background:none}
.contact-direction-grid .primary-detail-card:first-child{padding-left:0;border-left:0}
.contact-direction-grid .primary-detail-card:last-child{padding-right:0}
.contact-direction-grid h3{margin:0 0 20px;padding:0}
.contact-request-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(40px,6vw,96px)}
.contact-request-heading h2{font-size:clamp(30px,3vw,44px)}
.contact-request-heading p{max-width:360px;line-height:1.9}
@media(max-width:760px){
.contact-direction-grid{grid-template-columns:1fr}
.contact-direction-grid .primary-detail-card,.contact-direction-grid .primary-detail-card:first-child,.contact-direction-grid .primary-detail-card:last-child{padding:26px 0;border:0;border-bottom:1px solid #dfe8ec}
.contact-direction-grid .primary-detail-card:last-child{border:0}
.contact-request-layout{grid-template-columns:1fr;gap:32px}
.contact-request-heading p{max-width:none}
}

/* Careers: talent areas and a dedicated application entry. */
.careers-page-hero { background: #F8FAF8 linear-gradient(90deg,rgba(248,250,248,.78) 0%,rgba(248,250,248,.52) 31%,rgba(248,250,248,0) 55%),url('/banner-careers-20261025.webp'); background-size: cover; background-position: center; }
.careers-page-hero .primary-page-hero-copy { display: block; max-width: 560px; }
.careers-page-hero h1, .careers-page-hero .hero-title-split > span:last-child { color: #12313D; }
.careers-page-hero .primary-page-hero-copy > p { max-width: 420px; margin: 24px 0 0; padding: 0; border: 0; background: none; color: #425F69; }
.careers-directions { padding: 80px 0 64px; background: #fff; scroll-margin-top: 140px; }
.careers-directions h2, .careers-apply h2 { margin: 0; color: var(--ink); font-size: 38px; font-weight: 500; line-height: 1.4; }
.careers-direction-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 56px; margin-top: 40px; }
.careers-direction-grid h3 { margin: 0 0 16px; font-size: 22px; font-weight: 500; }
.careers-direction-grid p { margin: 0; color: var(--ink-soft); font-size: 16px; line-height: 1.9; max-width: 340px; text-wrap: pretty; }
.careers-pipeline-note { margin: 32px 0 0; color: #526E7A; font-size: 14px; line-height: 1.8; }
.careers-apply { padding: 56px 0; background: #EFF8FC; scroll-margin-top: 140px; }
.careers-apply-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.careers-apply h2 { font-size: 32px; }
.careers-apply-layout > div > p { color: var(--ink-soft); font-size: 16px; line-height: 1.9; }
.recruitment-entry { width: 100%; min-width: 0; }
.recruitment-email-row { width: 100%; max-width: none; }
.recruitment-email-row button { white-space: nowrap; }
.recruitment-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 28px; }
.recruitment-consent { display: flex; align-items: start; gap: 10px; font-size: 13px; line-height: 1.8; color: #526E7A; }
.recruitment-consent input { margin-top: 5px; flex-shrink: 0; }
.recruitment-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.recruitment-error { color: #A83232; font-size: 14px; line-height: 1.8; }
.recruitment-success { min-width: 0; overflow-wrap: anywhere; color: #12313D; }
@media(max-width:760px) {
 .careers-page-hero { background-position: 35% center; background-image: linear-gradient(90deg,rgba(248,250,248,.96),rgba(248,250,248,.76)),url('/banner-careers-20261025.webp'); }
 .careers-page-hero .primary-page-hero-copy { max-width: 100%; }
 .careers-directions { padding: 48px 0; }
 .careers-direction-grid { grid-template-columns: 1fr; gap: 28px; margin-top: 28px; }
 .careers-directions h2 { font-size: 30px; }
 .careers-apply { padding: 40px 0; }
 .careers-apply-layout { grid-template-columns: 1fr; gap: 24px; }
 .careers-apply h2 { font-size: 26px; }
 .recruitment-fields { grid-template-columns: 1fr; }
 .recruitment-fields .form-field-wide { grid-column: 1; }
}

.direct-contact-entry{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 30px}
.management-scope-note{padding-top:32px;padding-bottom:32px;color:#526c76;font-size:14px;line-height:1.9}
.contact-request-content>.cooperation-form{margin-top:0}
.form-privacy-note{font-size:13px;line-height:1.8;color:#526c76;margin:20px 0}

.management-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.management-focus-grid{grid-template-columns:1fr}}

.follow-up-editor{border-top:1px solid #dbe5e9;margin-top:24px;padding-top:24px;display:grid;gap:16px}.follow-up-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.follow-up-editor label{display:grid;gap:8px;color:#274957}.follow-up-editor input,.follow-up-editor select,.follow-up-editor textarea{font:inherit;padding:10px;border:1px solid #c6d7df;border-radius:4px;background:white;color:#183945}.follow-up-editor button{justify-self:start}.recruitment-entry>.button{margin-top:20px}.recruitment-email-row input{width:100%}@media(max-width:760px){.follow-up-fields{grid-template-columns:1fr}}
/* Keep the seated team and dental-room cues inside the homepage crop. */
.home-hero .home-hero-image { object-position: right center; }

/* Align the About enquiry action to the shared content edge. */
.about-page .primary-contact-cta .primary-next-actions { justify-self: end; justify-items: end; }
@media (max-width: 720px) { .about-page .primary-contact-cta .primary-next-actions { justify-self: start; justify-items: start; } }

/* Homepage partnership close: align with the musical business section. */
.home-contact .home-contact-panel {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(40px, 6vw, 88px);
  padding-block: 64px;
}
.home-contact .home-contact-panel h2 {
  font-size: clamp(30px, 3.1vw, 42px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
}
.home-contact .home-contact-panel > div:last-child { gap: 20px; }
.home-contact .home-contact-panel > div:last-child p {
  color: #526c77;
  font-size: 16px;
  line-height: 1.85;
  max-width: 34em;
}
.home-contact .direct-contact-entry {
  background: #00B2EB;
  color: #063c50;
  border-color: #00B2EB;
  min-height: 48px;
  padding: 12px 28px;
  font-size: 15px;
  font-weight: 600;
}
.home-contact .direct-contact-entry:hover { background: #18bbee; border-color: #18bbee; }
@media (max-width: 760px) {
  .home-contact .home-contact-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    padding-block: 44px;
  }
  .home-contact .home-contact-panel h2 { font-size: 28px; }
  .home-contact .home-contact-panel > div:last-child p { font-size: 15px; }
}

/* Shared close: preceding content, specific invitation, then one clear action. */
.primary-contact-cta,
.about-page .primary-contact-cta,
.dental-contact,
.careers-apply,
.contact-request-section { background: #F0F7FA; padding-block: 64px; }
.primary-contact-cta .primary-next-layout,
.dental-contact .dental-contact-layout {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: clamp(40px,6vw,88px);
  align-items: center;
}
.primary-contact-cta h2,
.about-page .primary-contact-cta h2,
.dental-contact h2,
.contact-request-heading h2,
.careers-apply h2 {
  font-size: clamp(30px,3.1vw,42px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  margin: 0;
}
.primary-contact-cta .primary-next-actions,
.about-page .primary-contact-cta .primary-next-actions,
.dental-contact-action {
  display: grid; gap: 20px; justify-self: stretch; justify-items: start;
  width: auto; min-width: 0;
}
.primary-contact-cta .primary-next-actions p,
.dental-contact-action p,
.contact-request-heading p,
.careers-apply-layout > div > p {
  margin: 0; max-width: 34em; color: #526c77; font-size: 16px; line-height: 1.85;
}
.contact-request-heading p,
.careers-apply-layout > div > p { margin-top: 20px; }
.primary-contact-cta .direct-contact-entry,
.dental-contact .direct-contact-entry {
  background: #00B2EB; border-color: #00B2EB; color: #063c50;
  min-height: 48px; margin: 0; padding: 12px 28px; font-size: 15px; font-weight: 600;
}
.primary-contact-cta .direct-contact-entry:hover,
.dental-contact .direct-contact-entry:hover { background: #18bbee; border-color: #18bbee; }
.contact-request-content .cooperation-form { margin-top: 0; }
.careers-apply-layout { gap: clamp(40px,6vw,88px); }
@media (max-width:760px) {
  .primary-contact-cta, .about-page .primary-contact-cta, .dental-contact,
  .careers-apply, .contact-request-section { padding-block:44px; }
  .primary-contact-cta .primary-next-layout, .dental-contact .dental-contact-layout,
  .careers-apply-layout, .contact-request-layout { grid-template-columns: minmax(0,1fr); gap:24px; }
  .primary-contact-cta h2, .about-page .primary-contact-cta h2, .dental-contact h2,
  .contact-request-heading h2, .careers-apply h2 { font-size:28px; }
  .primary-contact-cta .primary-next-actions p, .dental-contact-action p,
  .contact-request-heading p, .careers-apply-layout > div > p { font-size:15px; }
}

/* Industry advisory follows the management page's spacing and type scale. */
.management-advisory { padding: var(--space-section) 0 var(--space-section-end); background: #fff; scroll-margin-top: 150px; }
.management-advisory-intro { max-width: 760px; color: var(--ink-soft); font-size: var(--type-body); line-height: var(--line-body); margin: 24px 0 0; }
.management-advisory-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; margin-top: var(--space-heading-grid); }
.management-advisory-grid h3 { margin: 0; font-size: var(--type-card-title); font-weight: 600; line-height: 1.3; }
.management-advisory-grid p { margin: 16px 0 0; color: var(--ink-soft); font-size: var(--type-body); line-height: var(--line-body); }
@media(max-width:760px) { .management-advisory-grid { grid-template-columns: 1fr; gap: 32px; } }

/* Approved desktop homepage hero height; keep mobile rules unchanged. */
@media (min-width: 721px) {
  .home-hero { min-height: 560px; }
  .home-hero .home-hero-inner { min-height: 560px; padding-block: 52px; }
}

/* Management: open layouts and the shared Pinghe visual system. */
.management-page { background: #fff; }
.management-page .management-banner { background: #073451; min-height: 420px; }
.management-banner-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.management-page .management-banner .primary-page-hero-inner { min-height: 420px; }
.management-page .management-hero-copy { display: block; width: 58%; }
.management-page .management-banner h1 { color: #fff; font-size: clamp(34px,3.3vw,48px); line-height: 1.4; letter-spacing: 0; text-wrap: initial; }
.management-page .management-models, .management-page .management-focus, .management-page .management-advisory, .management-page .management-process { padding: 72px 0; scroll-margin-top: 130px; }
.management-page .primary-section-heading h2 { font-size: clamp(28px,2.8vw,40px); line-height: 1.45; font-weight: 500; letter-spacing: 0; }
.management-page .management-intro { max-width: 850px; margin: 24px 0 0; font-size: 16px; line-height: 1.9; color: #526c77; }
.management-page .management-model-grid { border: 0; gap: 36px 64px; margin-top: 40px; }
.management-page .management-model-card { min-height: 0; padding: 24px 0 0; border: 0; border-top: 1px solid #d9e7ec; justify-content: flex-start; }
.management-page .management-model-card h3, .management-page .management-focus-card h3, .management-page .management-advisory-grid h3 { font-size: 23px; line-height: 1.45; font-weight: 500; letter-spacing: 0; }
.management-page .management-model-card p, .management-page .management-focus-card p, .management-page .management-advisory-grid p { margin-top: 12px; font-size: 16px; line-height: 1.85; color: #526c77; }
.management-page .management-focus { background: #f0f7fa; }
.management-page .management-focus > .site-shell { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.65fr); gap: 64px; }
.management-page .management-focus-grid { margin: 0; border: 0; gap: 36px 40px; }
.management-page .management-focus-card { min-height: 0; padding: 0; background: none; border: 0; justify-content: flex-start; }
.management-page .management-advisory-grid { gap: 48px; margin-top: 36px; }
.management-page .management-advisory-grid article { border-top: 1px solid #d9e7ec; padding-top: 24px; }
.management-page .management-advisory-intro { font-size: 16px; color: #526c77; }
.management-page .management-process { color: #12313d; background: #f5f9fb; }
.management-page .management-process-intro, .management-page .management-process-grid p { color: #526c77; font-size: 16px; line-height: 1.85; }
.management-page .management-process-grid article { min-height: 0; }
.management-page .management-process-grid article > span { width: 44px; height: 44px; background: #fff; color: #0079aa; border: 1px solid #b4dfed; font-size: 20px; font-weight: 500; }
.management-page .management-process-grid article:not(:last-child)::after { top: 22px; left: 44px; width: calc(100% - 44px); background: #bddce7; }
.management-page .management-process-grid h3 { margin-top: 0; padding-top: 24px; font-size: 22px; line-height: 1.4; font-weight: 500; }
.management-page .management-scope-note { padding-block: 28px; font-size: 14px; }
.management-page .management-scope-note p { margin: 0; }
@media (max-width: 1000px) {
 .management-page .management-focus > .site-shell { grid-template-columns: 1fr; gap: 32px; }
 .management-page .management-process-grid article:not(:last-child)::after { display: none; }
}
@media (max-width: 720px) {
 .management-page .management-banner, .management-page .management-banner .primary-page-hero-inner { min-height: 330px; }
 .management-banner-image { object-position: 58% center; opacity: .65; }
 .management-page .management-hero-copy { width: 100%; }
 .management-page .management-banner h1 { font-size: 30px; max-width: 350px; }
 .management-page .management-models, .management-page .management-focus, .management-page .management-advisory, .management-page .management-process { padding: 44px 0; }
 .management-page .management-model-grid, .management-page .management-focus-grid, .management-page .management-advisory-grid, .management-page .management-process-grid { grid-template-columns: 1fr; gap: 28px; }
 .management-page .management-process-grid article { display: block; padding: 0; }
 .management-page .management-process-grid article > span { position: static; }
 .management-page .management-process-grid h3 { padding: 16px 0 0; }
 .management-page .management-process-grid p { padding: 0; }
}

/* Approved walkthrough photograph: preserve image proportions and quiet left copy area. */
.management-page .management-banner { background: #f2f7f9; }
.management-page .management-banner h1 { color: #173d4d; }
.management-banner-image { object-position: center center; }
@media(max-width:760px) {
 .management-banner-image { object-position: 67% center; opacity: 1; }
 .management-page .management-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(243,248,250,.96),rgba(243,248,250,.83) 45%,rgba(243,248,250,.2)); }
 .management-page .management-banner .primary-page-hero-inner { z-index: 1; }
}
.management-page .management-banner .hero-title-split > span:last-child { color: #173d4d; }

/* Cooperation options: an open four-part rhythm, related to the homepage melody. */
.management-page .management-melody-grid { position: relative; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin-top: 48px; align-items: start; }
.management-melody-line { position: absolute; top: 0; left: 0; width: 100%; height: 100px; overflow: visible; fill: none; stroke: #94d8ec; stroke-width: 1.25; pointer-events: none; }
.management-melody-line path { vector-effect: non-scaling-stroke; }
.management-page .management-melody-grid .management-model-card { position: relative; margin-top: 70px; padding: 32px 34px 0 0; border: 0; }
.management-page .management-melody-grid .management-model-card:nth-of-type(even) { margin-top: 30px; }
.management-page .management-melody-grid .management-model-card:last-child { padding-right: 0; }
.management-melody-node { position: absolute; top: -5px; left: 0; width: 10px; height: 10px; border: 2px solid #fff; border-radius: 50%; background: #80cfe6; box-shadow: 0 0 0 5px #fff; transition: background-color .2s; }
.management-page .management-melody-grid .management-model-card h3 { font-size: 23px; line-height: 1.5; transition: color .2s; }
.management-page .management-melody-grid .management-model-card p { margin-top: 18px; font-size: 15px; line-height: 1.95; }
.management-page .management-melody-grid .management-model-card:hover h3 { color: #008bb8; }
.management-model-card:hover .management-melody-node { background: #00b2eb; }
@media(max-width:1100px) {
 .management-page .management-melody-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; }
 .management-melody-line { display: none; }
 .management-page .management-melody-grid .management-model-card,.management-page .management-melody-grid .management-model-card:nth-of-type(even) { margin-top: 0; padding: 28px 0 0; border-top: 1px solid #d7eaf1; }
}
@media(max-width:640px) {
 .management-page .management-melody-grid { grid-template-columns: 1fr; gap: 32px; margin-top: 36px; padding-left: 22px; border-left: 1px solid #c5e4ee; }
 .management-page .management-melody-grid .management-model-card,.management-page .management-melody-grid .management-model-card:nth-of-type(even) { padding: 0; border: 0; }
 .management-melody-node { left: -28px; top: 10px; }
 .management-page .management-melody-grid .management-model-card h3 { font-size: 22px; }
}
@media(prefers-reduced-motion:reduce) { .management-melody-node,.management-page .management-melody-grid .management-model-card h3 { transition:none; } }
/* Management page: varied line treatments, shared quiet spacing. */
.management-page .management-focus-grid { gap: 44px 48px; }
.management-page .management-focus-card h3 { position: relative; padding-left: 18px; }
.management-page .management-focus-card h3::before { content: ""; position: absolute; width: 5px; height: 5px; left: 0; top: .65em; border-radius: 50%; background: #70c6df; }
.management-page .management-focus-card p { padding-left: 18px; }
.management-page .management-advisory-grid { position: relative; gap: 48px; margin-top: 48px; }
.management-page .management-advisory-grid::before { content: ""; position: absolute; left: 0; right: 0; top: 0; border-top: 1px solid #d1e7ef; }
.management-page .management-advisory-grid article { position: relative; padding-top: 32px; border: 0; }
.management-page .management-advisory-grid article::before { content: ""; position: absolute; top: -4px; left: 0; width: 8px; height: 8px; border-radius: 50%; background: #91cfe1; box-shadow: 0 0 0 5px #fff; transition: background-color .2s; }
.management-page .management-advisory-grid article:hover::before { background: #00b2eb; }
.management-page .management-process { background: #f0f7fa; }
.management-page .management-process-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; margin-top: 48px; }
.management-page .management-process-grid article { display: block; position: relative; padding: 28px 0 0; }
.management-page .management-process-grid article::before { content: ""; position: absolute; top: -3px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #75c7de; box-shadow: 0 0 0 5px #f0f7fa; z-index: 1; }
.management-page .management-process-grid article:not(:last-child)::after { content: ""; display: block; position: absolute; top: 0; left: 0; width: calc(100% + 32px); height: 1px; background: #c9e3ed; }
.management-page .management-process-grid article > span { display: block; position: static; width: auto; height: auto; padding: 0; border: 0; border-radius: 0; background: none; color: #6b919f; font-size: 13px; font-weight: 400; line-height: 1.5; }
.management-page .management-process-grid h3 { margin: 12px 0 0; padding: 0; }
.management-page .management-process-grid p { margin: 16px 0 0; padding: 0; }
.management-page .primary-contact-cta { padding-block: 80px; }
.management-page .primary-contact-cta .primary-next-layout { align-items: center; }
@media(max-width:900px) {
 .management-page .management-process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 32px; }
 .management-page .management-process-grid article:nth-child(2)::after { display: none; }
}
@media(max-width:720px) {
 .management-page .management-focus-grid { gap: 32px; }
 .management-page .management-advisory-grid { gap: 32px; margin-top: 36px; padding-left: 22px; border-left: 1px solid #d1e7ef; }
 .management-page .management-advisory-grid::before { display: none; }
 .management-page .management-advisory-grid article { padding: 0; }
 .management-page .management-advisory-grid article::before { top: 12px; left: -27px; }
 .management-page .primary-contact-cta { padding-block: 48px; }
}
@media(max-width:640px) {
 .management-page .management-process-grid { grid-template-columns: 1fr; gap: 32px; padding-left: 22px; border-left: 1px solid #c9e3ed; }
 .management-page .management-process-grid article { padding: 0; }
 .management-page .management-process-grid article::before { left: -26px; top: 7px; }
 .management-page .management-process-grid article:not(:last-child)::after { display: none; }
 .management-page .management-process-grid h3 { margin-top: 8px; }
 .management-page .management-process-grid p { margin-top: 12px; }
}
@media(prefers-reduced-motion:reduce) { .management-page .management-advisory-grid article::before { transition: none; } }

/* Dental and partnership pages share Pinghe's open spacing and quiet connections. */
.dental-industry-page .dental-section, .partnership-page .contact-directions { padding-block: 72px; }
.dental-industry-page .dental-section h2, .partnership-page .primary-section-heading h2 { font-size: clamp(28px,2.8vw,40px); line-height: 1.45; font-weight: 500; letter-spacing: 0; }
.dental-industry-page .dental-section .primary-section-heading > p { font-size: 16px; line-height: 1.9; color: #526c77; }
.dental-industry-page .dental-section-dental-care, .dental-industry-page .dental-section-models, .dental-industry-page .dental-section-principle { background: #fff; }
.dental-industry-page .dental-section-manufacturing, .dental-industry-page .dental-section-operations { background: #f0f7fa; }
.dental-collaboration { position: relative; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin-top: 40px; grid-column: 1 / -1; }
.dental-collaboration svg { position: absolute; top: 0; left: 0; width: 100%; height: 80px; overflow: visible; fill: none; stroke: #94d8ec; stroke-width: 1.25; pointer-events: none; }
.dental-collaboration path { vector-effect: non-scaling-stroke; }
.dental-collaboration-item { position: relative; margin-top: 48px; padding: 28px 32px 0 0; }
.dental-collaboration-item:nth-of-type(2) { margin-top: 28px; }
.dental-collaboration-item > span { position: absolute; top: -4px; left: 0; width: 8px; height: 8px; border-radius: 50%; background: #80cfe6; box-shadow: 0 0 0 5px #fff; }
.dental-collaboration-item h3 { margin: 0; font-size: 23px; font-weight: 500; line-height: 1.45; }
.dental-collaboration-item p { margin: 12px 0 0; font-size: 15px; line-height: 1.85; color: #526c77; }
.dental-industry-page .dental-brand-grid { gap: 64px; margin-top: 40px; }
.dental-industry-page .dental-brand { border-color: #cbdfe8; padding-top: 24px; }
.dental-industry-page .dental-brand h3, .dental-industry-page .dental-model-card h3 { font-size: 24px; line-height: 1.45; font-weight: 500; }
.dental-industry-page .dental-brand p, .dental-industry-page .dental-model-card p { color: #526c77; font-size: 16px; line-height: 1.85; }
.dental-industry-page .dental-brand .dental-brand-meta { font-size: 14px; color: #607782; }
.dental-industry-page .dental-model-grid { border: 0; gap: 40px; margin-top: 36px; }
.dental-industry-page .dental-model-card { min-height: 0; padding: 24px 0 0; border: 0; border-top: 1px solid #d9e7ec; background: none; }
.partnership-page .contact-direction-grid { gap: 48px; }
.partnership-page .contact-direction-grid .primary-detail-card { border: 0; border-top: 1px solid #d9e7ec; padding: 24px 0 0; }
.partnership-page .contact-direction-grid h3 { font-size: 24px; line-height: 1.45; font-weight: 500; margin-bottom: 14px; }
.partnership-page .contact-direction-grid p { color: #526c77; font-size: 16px; line-height: 1.85; }
.partnership-steps { list-style: none; padding: 0; margin: 36px 0 0; }
.partnership-steps li { position: relative; display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 18px; padding-bottom: 28px; }
.partnership-steps li:not(:last-child)::before { content: ''; position: absolute; left: 14px; top: 30px; bottom: 0; border-left: 1px solid #bcdce8; }
.partnership-steps li > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; border: 1px solid #bcdce8; color: #0079aa; font-size: 14px; background: #f0f7fa; }
.partnership-steps h3 { margin: 0; font-size: 19px; font-weight: 500; line-height: 30px; }
.partnership-page .partnership-steps p { margin: 6px 0 0; font-size: 14px; line-height: 1.85; color: #526c77; }
.partnership-steps li:last-child { padding-bottom: 0; }
@media(max-width:760px) {
 .dental-industry-page .dental-section, .partnership-page .contact-directions { padding-block: 44px; }
 .dental-collaboration { grid-template-columns: 1fr; gap: 24px; margin-top: 32px; border-left: 1px solid #c5e4ee; padding-left: 22px; }
 .dental-collaboration svg { display: none; }
 .dental-collaboration-item, .dental-collaboration-item:nth-of-type(2) { margin-top: 0; padding: 0; }
 .dental-collaboration-item > span { left: -26px; top: 12px; }
 .dental-collaboration-item h3 { font-size: 22px; }
 .dental-industry-page .dental-model-grid, .dental-industry-page .dental-brand-grid, .partnership-page .contact-direction-grid { grid-template-columns: 1fr; gap: 28px; }
 .partnership-steps { margin-top: 28px; }
}
.dental-industry-page .dental-section .primary-section-heading h2,
.dental-industry-page .dental-model-grid .dental-model-card h3 { color: #12313d; }


/* The industry detail page explains operations without repeating the homepage overview. */
.dental-industry-page .dental-section-dental-care .primary-section-heading { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.65fr); gap: 64px; max-width: none; align-items: start; }
.dental-industry-page .dental-section-dental-care .primary-section-heading > p { margin: 0; max-width: none; }
@media (max-width:760px) {
 .dental-industry-page .dental-section-dental-care .primary-section-heading { grid-template-columns: 1fr; gap: 22px; }
}

/* Comfortable, consistent insets for the three dental partnership cards. */
.dental-industry-page .dental-model-grid .dental-model-card { padding: 32px; justify-content: flex-start; }
@media (max-width:760px) {
 .dental-industry-page .dental-model-grid .dental-model-card { padding: 26px 24px; }
}

/* Three quiet colour fields, without decorative card borders. */
.dental-industry-page .dental-model-grid .dental-model-card { border: 0; box-shadow: none; background: #eaf5fb; }
.dental-industry-page .dental-model-grid .dental-model-card:nth-child(2) { background: #edf7f3; }
.dental-industry-page .dental-model-grid .dental-model-card:nth-child(3) { background: #f2f1f9; }

.home-hero .home-email-entry { width: min(100%, 360px); margin-top: 0; }

/* Investment hero: a concise two-line headline with balanced emphasis. */
.investment-page-hero .primary-page-hero-copy { max-width: 620px; }
.investment-page-hero h1 { color: #12313d; font-size: clamp(36px,3.7vw,52px); font-weight: 550; line-height: 1.3; letter-spacing: .01em; text-wrap: initial; }
.investment-page-hero .hero-title-split > span:last-child { margin-top: 16px; color: #12313d; font-size: clamp(30px,3vw,42px); font-weight: 500; line-height: 1.35; letter-spacing: .01em; }
@media(max-width:760px) {
 .investment-page-hero h1 { font-size: 34px; }
 .investment-page-hero .hero-title-split > span:last-child { margin-top: 12px; font-size: 28px; }
}

/* Approved investment department photograph, unobstructed and proportional. */
.investment-page-hero { background: #f4f7f6; min-height: 0; padding: 0; }
.investment-department-banner { display: block; width: 100%; height: auto; }
.investment-page-hero .primary-page-hero-inner { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* Homepage service overview: one shared pale blue band with two open columns. */
.home-services { background: #f0f7fa; padding: 72px 0 64px; }
.home-services-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: clamp(48px,7vw,112px); }
.home-service { display: grid; grid-template-rows: auto 1fr auto; align-items: start; }
.home-service h2 { margin: 0; color: #173d4d; font-size: 30px; font-weight: 500; line-height: 1.45; letter-spacing: 0; }
.home-service p { margin: 24px 0 0; max-width: 34em; color: #526c77; font-size: 16px; line-height: 1.9; }
.home-service-more { justify-self: end; margin-top: 28px; padding: 10px 0 10px 16px; color: #647985; font-size: 13px; font-weight: 400; line-height: 1.8; text-decoration: none; transition: color .2s ease; }
.home-service-more:hover,.home-service-more:focus-visible { color: #00b2eb; text-decoration: none; }
.home-service-more:focus-visible { outline: 2px solid #007fa4; outline-offset: 4px; }
.home-services + .home-contact { background: #fff; }
@media(max-width:760px) {
 .home-services { padding: 44px 0 36px; }
 .home-services-grid { grid-template-columns: 1fr; gap: 36px; }
 .home-service h2 { font-size: 26px; }
 .home-service p { margin-top: 18px; font-size: 15px; }
 .home-service-more { margin-top: 14px; }
}
@media(prefers-reduced-motion:reduce) { .home-service-more { transition: none; } }

/* Image-led dental banner: preserve clear dental subjects without text masking. */
.dental-industry-page .primary-page-hero.dental-visual-banner { background-image:url('/banner-dental-lab-20261025.webp'); background-position:center 52%; background-size:cover; min-height:0; height:clamp(240px,25vw,420px); padding:0; }
.dental-visual-banner::before,.dental-visual-banner::after { display:none; }
.dental-visual-banner .visually-hidden { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
@media(max-width:700px){.dental-industry-page .primary-page-hero.dental-visual-banner{height:240px;background-position:43% center}}
@supports (grid-template-rows: subgrid) {
 .home-service { grid-row: span 3; grid-template-rows: subgrid; }
}

/* Banner hierarchy: shared homepage baseline; subpages never exceed it. */
:root { --home-banner-min-height: 600px; }
@media (max-width: 720px) {
  :root { --home-banner-min-height: 640px; }
}
.home-hero,
.home-hero .home-hero-inner { min-height: var(--home-banner-min-height); }
.primary-page-hero,
.primary-page-hero .primary-page-hero-inner {
  min-height: min(var(--primary-banner-height), var(--home-banner-min-height));
}
.management-page .management-banner,
.management-page .management-banner .primary-page-hero-inner {
  min-height: min(420px, var(--home-banner-min-height));
}
@media (max-width: 760px) {
  .management-page .management-banner,
  .management-page .management-banner .primary-page-hero-inner {
    min-height: min(330px, var(--home-banner-min-height));
  }
}
/* Image-only banners keep their approved aspect/crop until reaching the cap. */
.investment-page-hero {
  min-height: 0;
  height: min(33.333333vw, var(--home-banner-min-height));
}
.investment-department-banner {
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.investment-page-hero .primary-page-hero-inner { min-height: 0; }
.dental-industry-page .primary-page-hero.dental-visual-banner {
  min-height: 0;
  height: min(clamp(240px, 25vw, 420px), var(--home-banner-min-height));
}
@media (max-width: 700px) {
  .dental-industry-page .primary-page-hero.dental-visual-banner {
    height: min(240px, var(--home-banner-min-height));
  }
}

/* Service overview: open typography within a shared pale blue surface. */
.home-services { padding:clamp(56px,5.5vw,88px) 0; background:#edf5f8; }
.home-services-grid { gap:clamp(48px,8vw,128px); align-items:stretch; }
.home-service { display:flex; flex-direction:column; grid-row:auto; min-width:0; }
.home-service h2 { font-size:clamp(30px,2.7vw,42px); line-height:1.4; font-weight:500; letter-spacing:.025em; }
.home-service p { margin:24px 0 0; max-width:27em; font-size:17px; line-height:1.95; color:#526c77; }
.home-service-more { align-self:flex-end; margin-top:auto; padding:32px 0 0 24px; font-size:15px; color:#315969; min-height:56px; }
@media(max-width:760px) {
 .home-services-grid { gap:48px; }
 .home-service h2 { font-size:30px; }
 .home-service p { font-size:16px; margin-top:18px; }
 .home-service-more { padding-top:20px; }
}

/* One height for every primary subpage banner, including image-only pages. */
:root { --subpage-banner-height: min(420px, var(--home-banner-min-height)); }
@media (max-width: 760px) {
  :root { --subpage-banner-height: min(330px, var(--home-banner-min-height)); }
}
.primary-page-hero,
.management-page .management-banner,
.dental-industry-page .primary-page-hero.dental-visual-banner,
.investment-page-hero {
  height: var(--subpage-banner-height);
  min-height: var(--subpage-banner-height);
  padding-block: 0;
}
.primary-page-hero .primary-page-hero-inner,
.management-page .management-banner .primary-page-hero-inner {
  height: var(--subpage-banner-height);
  min-height: var(--subpage-banner-height);
}
.investment-page-hero .primary-page-hero-inner {
  height: 1px;
  min-height: 0;
}
.investment-department-banner { object-position: center 42%; }

/* Whole-site audit: readable mobile controls and image subject placement. */
.site-header .mobile-menu > summary { background: transparent; }
.site-header .mobile-menu > nav { color: var(--ink); }
@media (max-width: 760px) {
  .investment-department-banner { object-position: 85% 42%; }
}
.home-service-more {
  font-size: 13px;
  font-weight: 400;
  color: #647985;
}

/* Homepage reuses the management page's approved content and node layouts. */
.home-management-overview .management-models,.home-management-overview .management-advisory { background:#edf5f8; padding:64px 0 40px; }
.home-management-overview .management-melody-node { border-color:#edf5f8; box-shadow:0 0 0 5px #edf5f8; }
.home-management-overview .management-advisory-grid article::before { box-shadow:0 0 0 5px #fff; }
.home-management-more { display:flex; justify-content:flex-end; padding-top:24px; }
.home-management-overview .management-advisory { background:#fff; padding-top:64px; padding-bottom:64px; }
@media(max-width:760px) { .home-management-overview .management-models,.home-management-overview .management-advisory { padding-top:44px; padding-bottom:32px; } }

@media (max-width: 400px) {
  .utility-bar .utility-inner { gap: 12px; }
  .utility-bar .region-current-name,
  .utility-bar .region-separator { display: none; }
  .utility-action { padding-inline: 12px; flex-shrink: 0; }
}

/* Homepage rhythm: industry, advisory, then operations. */
.home-management-overview .management-advisory { background:#edf5f8; }
.home-management-overview .management-models { background:#fff; padding-bottom:64px; }
.home-management-overview .management-advisory-grid article::before { box-shadow:0 0 0 5px #edf5f8; }
.home-management-overview .management-melody-node { border-color:#fff; box-shadow:0 0 0 5px #fff; }
@media(min-width:981px) {
 .home-management-overview .management-melody-grid { margin-top:28px; }
 .home-management-overview .management-melody-grid .management-model-card,.home-management-overview .management-melody-grid .management-model-card:nth-of-type(even) { margin-top:24px; padding-top:32px; }
 .home-management-overview .management-melody-grid .management-model-card:nth-of-type(even) .management-melody-node { top:-17px; }
}

/* Shared management rhythm: aligned content, gently rising right endpoint. */
@media(min-width:981px) {
 .management-page .management-melody-grid { margin-top:28px; }
 .management-page .management-melody-grid .management-model-card,.management-page .management-melody-grid .management-model-card:nth-of-type(even) { margin-top:24px; padding-top:32px; }
 .management-page .management-melody-grid .management-model-card:nth-of-type(even) .management-melody-node { top:-17px; }
}

/* Homepage hero: 600px desktop composition with a balanced enquiry field. */
@media(min-width:721px) {
 .home-hero,.home-hero .home-hero-inner { height:600px; min-height:600px; }
 .home-hero .home-hero-inner { align-items:center; padding-block:60px; }
 .home-hero-static .home-hero-copy { width:48%; max-width:600px; }
 .home-hero .home-hero-image { object-position:70% center; }
 .home-hero-static h1 { font-size:clamp(38px,3.6vw,56px); font-weight:550; line-height:1.4; letter-spacing:0; }
 .home-hero .home-hero-copy > p:not(.eyebrow) { margin-top:24px; font-size:16px; line-height:1.8; }
}
.home-hero .home-email-entry { width:min(100%,400px); margin-top:0; }
.home-hero .hero-actions-email { margin-top:32px; }
@media(max-width:720px) {
 .home-hero .home-hero-image { object-position:75% center; }
 .home-hero .home-email-entry { width:min(100%,360px); }
}

/* Approved homepage business slides: retain the 600px composition on every slide. */
.home-hero .home-slide-title { margin:0; color:#303030; font-size:clamp(34px,8vw,44px); font-weight:550; line-height:1.4; letter-spacing:0; }
.home-hero .home-slide-title span { display:block; color:inherit; }
.home-hero .home-hero-copy { width:100%; max-width:100%; }
@media(min-width:721px) {
 .home-hero .home-hero-copy { width:48%; max-width:600px; }
 .home-hero .home-slide-title { font-size:clamp(38px,3.6vw,56px); }
}

@media(max-width:720px) {
 .home-hero .home-hero-inner { padding-top:220px; padding-bottom:84px; }
}

.home-hero-slide { visibility:visible; pointer-events:none; transition:opacity .45s ease; }
.home-hero-slide.active { pointer-events:auto; }
@media(prefers-reduced-motion:reduce) { .home-hero-slide { transition:none; } }

/* White closing sections distinguish consultation from preceding pale-blue content. */
.about-page .primary-contact-cta,
.management-page .primary-contact-cta,
.management-page .management-scope-note { background:#fff; }
.home-hero-slide { transition:opacity .5s ease; }
@media(prefers-reduced-motion:reduce) { .home-hero-slide { transition:none; } }

/* 健身与运动康复二级页：平和蓝、舒展留白、分层线条。 */
.fitness-page{color:#273c49;background:#fff}.fitness-page h2{font-size:clamp(25px,2.4vw,34px);font-weight:500;line-height:1.5;margin:0 0 22px}.fitness-page h3{font-size:21px;font-weight:500;line-height:1.5;margin:0 0 16px}.fitness-page p{font-size:16px;color:#60717c;line-height:1.95;margin:0}.fitness-hero{height:420px;position:relative;overflow:hidden;background:#edf5f8}.fitness-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center}.fitness-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,251,252,.97),rgba(247,251,252,.84) 27%,rgba(247,251,252,0) 58%)}.fitness-hero-inner{height:100%;display:flex;align-items:center;position:relative;z-index:1}.fitness-hero-copy{width:44%;max-width:570px}.fitness-hero h1{font-size:clamp(32px,3.4vw,48px);font-weight:500;line-height:1.35;margin:0 0 22px}.fitness-hero-copy p{max-width:330px;font-size:18px}.fitness-page-context{display:flex;justify-content:space-between;gap:20px;padding-top:22px;font-size:13px;color:#73828c}.fitness-page-context a{color:#60717c}.fitness-page-context span{color:#48798e}.fitness-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:78px;padding-bottom:82px}.fitness-intro p{max-width:540px}.fitness-services{background:#f1f7fa;padding:76px 0 82px}.fitness-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:54px;margin-top:46px}.fitness-service-grid article{padding-top:0;display:flex;flex-direction:column}.fitness-service-line{height:3px;background:#91c9de;margin-bottom:28px;width:100%}.fitness-service-grid article:nth-child(2) .fitness-service-line{background:#4ab8dd}.fitness-service-grid article:nth-child(3) .fitness-service-line{background:#00b2eb}.fitness-service-grid p{max-width:340px;flex:1}.fitness-service-grid article>span{display:block;font-size:13px;color:#718996;margin-top:26px}.fitness-path{padding-top:82px;padding-bottom:84px}.fitness-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px}.fitness-path ol{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:56px 0 0;gap:34px}.fitness-path li{position:relative;border-top:1px solid #cadce5;padding-top:30px}.fitness-step{display:inline-flex;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid #a4c8d8;align-items:center;justify-content:center;position:absolute;top:-15px;left:0;font-size:13px;color:#387b98}.fitness-path li h3{font-size:19px}.fitness-path li p{font-size:15px}.fitness-model{background:#f1f7fa;padding:78px 0}.fitness-model-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px}.fitness-model-inner>div>p{max-width:380px}.fitness-model-list article+article{border-top:1px solid #d7e4eb;margin-top:25px;padding-top:25px}.fitness-model-list h3{font-size:19px;margin-bottom:8px}.fitness-partnership{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:84px;padding-bottom:88px}.fitness-partnership ul{padding:0;list-style:none;display:flex;gap:12px 25px;flex-wrap:wrap;margin-top:28px;color:#507489;font-size:14px}.fitness-enquiry{padding-left:38px;border-left:1px solid #d7e4eb}.fitness-enquiry .home-email-entry{width:100%;max-width:400px;margin-top:22px}.fitness-enquiry>p{font-size:13px;line-height:1.8;margin-top:22px}.fitness-more{display:inline-block;color:#647985;font-size:13px;font-weight:400;text-decoration:none;margin-top:20px;transition:color .2s}.fitness-more:hover,.fitness-more:focus-visible{color:#00b2eb}.fitness-more:focus-visible{outline:2px solid #00b2eb;outline-offset:4px}
@media(max-width:900px){.fitness-hero-copy{width:48%}.fitness-service-grid{gap:25px}.fitness-intro,.fitness-section-heading,.fitness-model-inner,.fitness-partnership{gap:36px}.fitness-path ol{gap:22px}}
@media(max-width:720px){.fitness-hero{height:330px}.fitness-hero-image{object-position:70% center}.fitness-hero:after{background:linear-gradient(0deg,rgba(247,251,252,.98),rgba(247,251,252,.92) 27%,rgba(247,251,252,0) 75%)}.fitness-hero-inner{align-items:flex-end;padding-bottom:24px}.fitness-hero-copy{width:100%;max-width:none}.fitness-hero h1{font-size:30px;margin-bottom:8px}.fitness-hero-copy p{font-size:15px;max-width:100%}.fitness-page-context{font-size:12px;gap:14px;padding-top:18px}.fitness-intro,.fitness-section-heading,.fitness-model-inner,.fitness-partnership{grid-template-columns:1fr;gap:18px}.fitness-intro{padding-top:48px;padding-bottom:48px}.fitness-services,.fitness-model{padding:48px 0}.fitness-service-grid{grid-template-columns:1fr;gap:32px;margin-top:30px}.fitness-service-line{margin-bottom:18px}.fitness-service-grid p{max-width:none}.fitness-service-grid article>span{margin-top:12px}.fitness-path{padding-top:48px;padding-bottom:48px}.fitness-path ol{grid-template-columns:1fr 1fr;gap:40px 24px;margin-top:40px}.fitness-model-list{margin-top:14px}.fitness-partnership{padding-top:48px;padding-bottom:54px;gap:34px}.fitness-enquiry{padding:30px 0 0;border-left:0;border-top:1px solid #d7e4eb}.fitness-partnership ul{gap:12px 20px}.fitness-page h2{margin-bottom:15px}.fitness-page h3{font-size:20px}}

/* Fitness banner: a quiet route to the service and partnership overview. */
.home-hero .home-hero-detail { display:inline-block; margin-top:14px; font-size:14px; line-height:1.8; color:#315969; text-decoration:none; }
.home-hero .home-hero-detail:hover { color:#007ca5; }
.home-hero .home-hero-detail:focus-visible { outline:2px solid #007ca5; outline-offset:4px; }

@media(min-width:721px) { .home-hero .home-hero-fitness .home-hero-shade { background:linear-gradient(90deg,#fafafa 0%,rgba(250,250,250,.98) 26%,rgba(250,250,250,.86) 38%,rgba(250,250,250,.35) 48%,transparent 60%); } }

.community-record { display:grid; grid-template-columns:1fr 360px; gap:80px; align-items:center; padding-block:80px; }
.community-record h2 { font-size:32px; font-weight:500; margin:0 0 30px; }
.community-record h3 { font-size:22px; font-weight:500; margin:0 0 18px; }
.community-record p { max-width:520px; line-height:1.9; color:#52626b; }
.community-record .community-note { font-size:13px; margin-top:24px; }
.community-record figure { margin:0; }
.community-record img { display:block; width:100%; height:auto; }
@media(max-width:720px) { .community-record { grid-template-columns:1fr; gap:30px; padding-block:48px; } .community-record figure { width:min(100%,300px); margin:auto; } }

/* Audit: keep English hero copy clear of the fixed carousel controls. */
.locale-en .home-hero .home-slide-title { font-size:clamp(30px,3vw,42px); line-height:1.3; letter-spacing:0; }
@media(min-width:721px) { .locale-en .home-hero .home-hero-inner { padding-bottom:130px; } }
@media(max-width:720px) { .locale-en .home-hero .home-slide-title { font-size:30px; } }
.investment-topic { padding-block:64px; }
.investment-topic h1 { font-size:clamp(32px,4vw,48px); font-weight:500; margin:24px 0; }
.investment-topic .topic-lead { max-width:720px; line-height:1.9; color:#52626b; }
.investment-topic .topic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:48px; margin:60px 0; }
.investment-topic h2 { font-size:23px; font-weight:500; }
.investment-topic p { line-height:1.9; color:#52626b; }
.investment-topic .topic-contact { background:#f0f7fa; padding:32px; margin-top:48px; }
@media(max-width:720px) { .investment-topic .topic-grid { grid-template-columns:1fr; gap:24px; margin:40px 0; } }

/* Investment detail pages: photography above, quiet coloured editorial ground below. */
.topic-hero { height:var(--subpage-banner-height); position:relative; overflow:hidden; background:#edf3f5; }
.topic-hero>img { width:100%; height:100%; object-fit:cover; object-position:center; }
.topic-hero .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.topic-medical-aesthetics .topic-overview { background:#f5f3ef; }
.topic-health-screening .topic-overview { background:#f5f4ef; }
.topic-overview .investment-topic { padding-block:64px 60px; }
.topic-overview .topic-lead { font-size:20px; max-width:820px; margin:0; color:#354f5c; }
.topic-overview .topic-grid { margin:42px 0 34px; gap:60px; }
.topic-overview .topic-grid h2 { margin:0 0 16px; }
.topic-overview .topic-grid p { margin:0; }
.topic-overview .investment-topic>p:last-child { font-size:13px; max-width:900px; margin:0; color:#687a83; }
.topic-closing { background:#fff; padding-block:72px; }
.topic-closing .topic-contact { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,400px); align-items:center; gap:56px; padding-block:0; margin-inline:auto; background:transparent; }
.topic-closing .topic-contact h2 { margin:0 0 16px; font-size:clamp(24px,2.3vw,32px); line-height:1.5; }
.topic-closing .topic-contact p { margin:0; }
.topic-closing .home-email-entry { width:100%; max-width:400px; margin:0; }
.topic-closing .home-email-entry input { background:#f0f6f8; }
@media(max-width:900px) { .topic-closing .topic-contact { grid-template-columns:1fr; gap:28px; } }
@media(max-width:720px) {
 .topic-hero { height:var(--subpage-banner-height); }
 .topic-hero>img { object-position:68% center; }
 .topic-overview .investment-topic { padding-block:40px; }
 .topic-overview .topic-lead { font-size:18px; }
 .topic-overview .topic-grid { gap:28px; margin:32px 0; }
 .topic-closing { padding-block:48px; }
}

/* 2026-10-27 audit corrections: contrast, mobile label and consistent enquiry entry. */
.site-header .desktop-nav .nav-primary>a,
.site-header .nav-caret { color:#fff; }
.site-header .nav-group:hover .nav-primary,
.site-header .nav-group:focus-within .nav-primary,
.site-header .nav-group.active .nav-primary { background:rgba(0,66,95,.16); color:#fff; }
.utility-action { background:#00607c; }
.utility-action:hover { background:#00526b; }
.site-header .mobile-menu>summary { width:auto; min-width:84px; padding-inline:12px; color:#fff; border-color:rgba(255,255,255,.6); white-space:nowrap; }
.site-header .mobile-menu>summary>span { flex-shrink:0; white-space:nowrap; }
.site-header .mobile-menu>summary .menu-lines { flex-shrink:0; }
.primary-contact-cta .home-email-entry,
.home-contact .home-email-entry,
.dental-contact .home-email-entry { width:100%; max-width:400px; margin-top:24px; }
.email-entry input { border:0; border-radius:0; transition:background-color .2s; }
.email-entry input:hover { background:#f6fbfd; }
.email-entry input:focus { outline:2px solid #00607c; outline-offset:-2px; }
.email-entry button { background:#00607c; border-radius:0; }
.email-entry button:hover { background:#00526b; }
@media(max-width:720px) {
 .primary-contact-cta .home-email-entry,
 .home-contact .home-email-entry,
 .dental-contact .home-email-entry { max-width:360px; }
}
@media(prefers-reduced-motion:reduce) { .email-entry input { transition:none; } }

/* Health screening: soft daylight and warm neutrals, with shared brand blue actions. */
.topic-health-screening .topic-hero { background:#f6f4ef; }
.topic-health-screening .investment-topic h2 { color:#34433f; }
.topic-health-screening .topic-overview .topic-lead { color:#424e48; }
.topic-health-screening .investment-topic p { color:#56615c; }
.topic-health-screening .topic-overview .investment-topic>p:last-child { color:#626c66; }
.topic-health-screening .topic-closing .home-email-entry input { background:#f5f4ef; color:#34433f; }
.topic-health-screening .topic-closing .home-email-entry input:hover { background:#eeeee6; }

/* Investment: the label navigates; the independent arrow toggles its submenu. */
.site-header .investment-nav-toggle { display:inline-flex; align-items:center; justify-content:center; width:28px; min-height:44px; padding:0; border:0; background:transparent; color:inherit; cursor:pointer; flex-shrink:0; }
.investment-nav-toggle svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform 160ms ease; }
.is-open > .nav-primary .investment-nav-toggle svg,.is-open > .mobile-investment-primary .investment-nav-toggle svg { transform:rotate(180deg); }
.site-header .nav-split .nav-primary { gap:0; padding-right:6px; }
.site-header .nav-split .nav-primary > a { padding-right:4px; }
.site-header .nav-split .nav-submenu { opacity:0; visibility:hidden; pointer-events:none; transform:none; }
.site-header .nav-split.is-open .nav-submenu { opacity:1; visibility:visible; pointer-events:auto; }
.site-header .nav-split .nav-submenu[hidden],.site-header .mobile-investment-links[hidden] { display:none; }
.site-header .nav-split .nav-dropdown-link { display:block; width:100%; box-sizing:border-box; min-height:48px; }
.site-header .investment-nav-toggle:focus-visible,.mobile-investment-primary > a:focus-visible { outline:2px solid currentColor; outline-offset:-3px; }
.site-header .mobile-investment-nav > .mobile-investment-primary { display:flex; padding:0; min-height:50px; align-items:stretch; justify-content:space-between; }
.site-header .mobile-investment-primary > a { display:flex; align-items:center; flex:1; color:inherit; font-size:14px; font-weight:650; padding:9px 0; }
.site-header .mobile-investment-primary > .investment-nav-toggle { width:44px; color:inherit; }
.site-header .mobile-investment-nav > .mobile-investment-links { display:grid; padding:0 0 12px; }
.site-header .mobile-investment-nav .mobile-nav-section-link { display:block; width:100%; box-sizing:border-box; min-height:44px; padding:12px; }
@media(prefers-reduced-motion:reduce) { .investment-nav-toggle svg { transition:none; } }

/* Consistent hero rhythm: title, email, then separate carousel controls. */
.home-hero .home-slide-title { min-height:2.8em; }
.home-hero .hero-actions-email { margin-top:32px; }
@media(min-width:721px) {
 .home-hero .home-hero-inner,
 .locale-en .home-hero .home-hero-inner { height:600px; min-height:600px; align-items:flex-start; padding-top:160px; padding-bottom:140px; }
 .home-hero .home-hero-copy { width:48%; max-width:600px; }
 .locale-en .home-hero .home-slide-title { font-size:clamp(22px,2.8vw,38px); line-height:1.4; }
}
@media(max-width:720px) {
 .home-hero { display:grid; height:auto; min-height:640px; }
 .home-hero-slide { position:relative; inset:auto; grid-area:1 / 1; min-width:0; }
 .home-hero .home-hero-inner { height:auto; min-height:640px; padding-top:320px; padding-bottom:110px; align-items:flex-start; }
 .home-hero .home-slide-title { font-size:clamp(26px,6.4vw,40px); line-height:1.4; }
 .locale-en .home-hero .home-slide-title { font-size:clamp(20px,5.2vw,30px); line-height:1.4; }
 .home-hero .hero-actions-email { margin-top:28px; }
}

.investment-participation{padding:72px 0;background:#f0f7fa}.investment-participation h2{margin:0 0 36px}.investment-participation h3{margin:0 0 16px}.investment-participation p{color:#596b73;line-height:1.9;margin:0}.investment-participation .primary-detail-grid{gap:40px}@media(max-width:720px){.investment-participation{padding:48px 0}.investment-participation .primary-detail-grid{grid-template-columns:1fr;gap:28px}}

.topic-partner-focus{max-width:900px;margin:36px 0 44px}.topic-partner-focus h2{font-size:24px;margin:0 0 16px}.topic-partner-focus p{line-height:1.9;color:#596b73}

/* Keep the banner descriptions visible with a shared space above the email field. */
.home-hero .home-hero-copy .home-slide-intro{display:block;margin:18px 0 0;min-height:3.4em;max-width:100%;font-size:16px;line-height:1.7;color:#52646c}
.home-hero .hero-actions-email{margin-top:20px}
@media(min-width:721px){.home-hero .home-hero-inner,.locale-en .home-hero .home-hero-inner{padding-top:140px}}
@media(max-width:720px){.home-hero .home-hero-copy .home-slide-intro{font-size:14px;min-height:3.4em;margin-top:14px}.home-hero .hero-actions-email{margin-top:18px}}

/* Banner content and controls share document flow, so text cannot overlap the form. */
.home-hero .home-hero-copy .home-slide-title{font-size:clamp(26px,3.3vw,48px);line-height:1.4;min-height:2.8em}
.home-hero:not(.locale-en) .home-slide-title span{display:block}
@media(min-width:721px){.home-hero .home-hero-inner,.locale-en .home-hero .home-hero-inner{padding-top:110px;padding-bottom:32px}.home-hero .home-hero-copy .home-slide-title span{white-space:nowrap}.locale-en .home-hero .home-hero-copy .home-slide-title{font-size:clamp(22px,2.65vw,36px)}.locale-en .home-hero .home-hero-copy .home-slide-title span{white-space:normal}}
@media(max-width:720px){.home-hero .home-hero-inner{min-height:740px;padding-bottom:40px}.home-hero .home-hero-copy .home-slide-title{font-size:clamp(24px,6vw,40px);min-height:2.8em}.locale-en .home-hero .home-hero-copy .home-slide-title{font-size:clamp(20px,5.2vw,30px)}}

/* Investment detail columns share the site's quiet line-and-dot composition. */
.topic-medical-aesthetics { --topic-column-surface:#f5f3ef; }
.topic-health-screening { --topic-column-surface:#f5f4ef; }
.topic-overview .topic-grid { position:relative; }
.topic-overview .topic-grid::before { content:""; position:absolute; left:0; right:0; top:0; border-top:1px solid #c7dce4; }
.topic-overview .topic-grid>section { position:relative; padding-top:28px; }
.topic-overview .topic-grid>section::before { content:""; position:absolute; left:0; top:-4px; width:8px; height:8px; border-radius:50%; background:#91c6d8; box-shadow:0 0 0 5px var(--topic-column-surface); }
@media(max-width:720px) {
 .topic-overview .topic-grid::before { display:none; }
 .topic-overview .topic-grid>section { padding:0 0 0 26px; }
 .topic-overview .topic-grid>section::before { top:10px; box-shadow:none; }
 .topic-overview .topic-grid>section::after { content:""; position:absolute; left:3.5px; top:14px; height:calc(100% + 28px); border-left:1px solid #c7dce4; }
 .topic-overview .topic-grid>section:last-child::after { display:none; }
}

.ci-section h3.ci-principle-heading{font-size:1em;font-weight:700;margin:1.33em 0}
.topic-english-title{font-size:clamp(28px,3vw,40px);line-height:1.3;font-weight:500;margin:0 0 24px;color:#173743}
.home-hero > h1.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
