/* Four independent chapters share the original history's quiet white stage. */
.company-chapter[hidden] { display: none !important; }
.company-chapter { position: relative; }
.company-entry-preloader {
  position: fixed;
  inset: 0;
  z-index: 100;
  overflow: hidden;
  color: #0c0d0d;
  background-color: #e4e6e7;
  background-image: radial-gradient(circle at 50% -10%, rgba(238,166,224,.62), transparent 48%), radial-gradient(circle at 100% 100%, rgba(255,174,126,.55), transparent 42%), radial-gradient(circle at 0% 100%, rgba(229,153,224,.48), transparent 42%), repeating-linear-gradient(90deg, transparent 0, transparent 9.9vw, rgba(255,255,255,.22) 10vw, transparent 10.1vw);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .6s ease, visibility 0s linear .6s;
}
.company-entry-preloader.is-visible { opacity: 1; visibility: visible; transition-delay: 0s, 0s; }
.company-entry-preloader.is-complete { opacity: 0; visibility: hidden; transition: opacity .5s ease, visibility 0s linear .5s; }
body.company-entry-preloader-active .company-header,
body.company-entry-preloader-active #main-content,
body.company-entry-preloader-active :is(.directory-toggle,.current-year,.timeline-detail-link,.reading-progress) { visibility: hidden !important; }
body.company-entry-preloader-active.company-entry-preloader-reveal .company-header,
body.company-entry-preloader-active.company-entry-preloader-reveal #main-content { visibility: visible !important; }
body.company-entry-preloader-active.company-entry-preloader-reveal .company-header { animation: company-entry-header-reveal .6s ease-out .4s both; }
body.company-entry-preloader-active.company-entry-preloader-reveal #main-content { animation: company-entry-content-reveal .8s ease-out both; }
@keyframes company-entry-header-reveal { from { opacity: 0; } to { opacity: 1; } }
@keyframes company-entry-content-reveal { from { opacity: 0; } to { opacity: 1; } }
.company-entry-preloader__logo-wrap { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.company-entry-preloader__logo-item { position: relative; width: min(10em, 32vw); filter: blur(10px); transition: filter 2s ease-out; }
.company-entry-preloader.is-logo-ready .company-entry-preloader__logo-item { filter: blur(0); }
.company-entry-preloader__logo-item img { width: 100%; height: auto; object-fit: contain; }
.company-entry-preloader__logo-wipe { position: absolute; inset: 0; }
.company-entry-preloader__text-wrap { position: absolute; inset: auto 0 1em; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #0c0d0d; font-size: 14px; line-height: 1.3; }
.company-entry-preloader__text { display: flex; gap: .1em; }
.company-entry-preloader__count { display: inline-flex; width: 1.4em; align-items: center; justify-content: center; }
/* The server-rendered markup starts on the overview chapter while the hash
   is resolved by the deferred chapter controller. Keep that placeholder out
   of the first paint so a direct #origin entry cannot flash the overview. */
body:not([data-chapter-ready="true"]) #main-content { visibility: hidden; }
body[data-active-chapter]:not([data-active-chapter="origin"]) :is(.directory-toggle,.current-year,.timeline-detail-link,.reading-progress) { display: none !important; }

.company-header { z-index: 65; min-height: 100px; padding: 16px 24px 12px; background: #fff; border-bottom: 1px solid #edf0f2; pointer-events: auto; }
.company-nav { position: relative; width: 110px; pointer-events: auto; }
.company-nav-toggle { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 110px; margin: 0; padding: 0; border: 0; background: none; color: #282624; text-decoration: none; cursor: pointer; }
.company-nav-toggle .haipai-logo { width: 93.75px; height: 60px; transition: filter .5s,transform .7s cubic-bezier(.2,.65,.2,1),opacity .3s ease; }
.origin-entrance-pending .company-nav-toggle .haipai-logo { opacity: 0; visibility: hidden; }
.company-nav-hint { width: 18px; height: 1px; background: #c8a05f; transform: scaleX(.65); opacity: .7; transition: transform .6s,opacity .6s; }
.origin-entrance-pending .company-nav-hint { opacity: 0; }
.company-nav.is-open .company-nav-hint { transform: scaleX(1); opacity: 0; }
.company-nav-links { color: #282624; }
.company-nav-side { position: absolute; top: 6px; display: flex; align-items: center; gap: 38px; height: 48px; width: 340px; opacity: 0; visibility: hidden; transition: opacity .65s,transform .8s cubic-bezier(.2,.65,.2,1),visibility .8s; pointer-events: none; }
.company-nav-side--left { right: 100%; justify-content: flex-end; padding-right: 44px; transform: translateX(32px); }
.company-nav-side--right { left: 100%; justify-content: flex-start; padding-left: 44px; transform: translateX(-32px); }
.company-nav.is-open .company-nav-side { opacity: 1; visibility: visible; transform: translateX(0); pointer-events: auto; }
.company-nav-side a { position: relative; display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 400; line-height: 1.5; white-space: nowrap; text-decoration: none; }
.company-nav-side a::after { content: ""; position: absolute; left: 0; bottom: 4px; width: 100%; height: 1px; background: #ff6900; transform: scaleX(0); transform-origin: left; transition: transform .45s; }
.company-nav-side a:is(:hover,:focus-visible,[aria-current="page"])::after { transform: scaleX(1); }
body.is-dark .company-header .haipai-logo { filter: none; }

.company-partners { min-height: 100svh; padding-top: clamp(150px,18vh,210px); }
.company-partners #brief5 { padding-bottom: 40px; }
.company-partners #brief5 > .wrapperKn { width: min(1240px,86vw); margin-inline: auto; }
.company-partners #brief5 .left-tags-title { margin: 0 0 32px; padding: 0; text-align: center; color: #282624; font-size: clamp(40px,6vw,88px); font-weight: 500; line-height: 1.2; }
.company-partners #brief5 .left-tags-title::before { content: none; }
.company-partners #brief5 .hp-stage { height: clamp(330px,34vw,510px); }
.company-partners #brief5 .hp-list { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.company-partners #brief5 .hp-list li { height: 140px; padding: 12px; border: 0; box-shadow: inset 0 0 0 1px #e9ecf1; }
.company-partners #brief5 .hp-list img { max-height: 94px; }
.company-partners #brief5 .hp-list img[alt="盈和国际"] { width: 190px; height: 190px; max-height: none; }
.company-partners #brief5 .hp-actions .hp-expand { position: relative; min-height: 48px; padding: 10px 0; color: #282624; font-size: 14px; letter-spacing: .08em; }
.company-partners #brief5 .hp-actions .hp-expand::after { content: ""; position: absolute; inset: auto 0 6px; height: 1px; background: #c8a05f; transform: scaleX(.35); transition: transform .35s; }
.company-partners #brief5 .hp-actions .hp-expand:is(:hover,:focus-visible)::after { transform: scaleX(1); }

@media (max-width: 1000px) {
  .company-nav-side { width: 300px; gap: 26px; }
  .company-nav-side--left { padding-right: 32px; }
  .company-nav-side--right { padding-left: 32px; }
}
@media (max-width: 767px) {
  .company-entry-preloader__logo-item { width: min(10em, 48vw); }
  .company-entry-preloader__text-wrap { font-size: 12px; }
  .company-header { min-height: 80px; }
  .company-header:has(.company-nav.is-open) { min-height: 100px; }
  .company-nav,.company-nav-toggle { width: 67.5px; }
  .company-nav-toggle { gap: 8px; }
  .company-nav-toggle .haipai-logo { width: 62.5px; height: 40px; }
  .company-nav-side { top: -2px; flex-direction: column; justify-content: center; gap: 0; width: min(126px,35vw); height: 76px; }
  .company-nav-side--left { padding-right: 12px; align-items: flex-end; transform: translateX(20px); }
  .company-nav-side--right { padding-left: 12px; align-items: flex-start; transform: translateX(-20px); }
  .company-nav-side a { min-height: 38px; font-size: 12px; }
  .company-nav-side a::after { bottom: 4px; }
  .company-partners { padding-top: 150px; min-height: 90svh; }
  .company-partners #brief5 .left-tags-title { font-size: clamp(36px,9vw,48px); margin-bottom: 24px; }
  .company-partners #brief5 .hp-stage { height: 300px; }
  .company-partners #brief5 .hp-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .company-partners #brief5 .hp-list li { height: 120px; padding: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .company-nav *,.company-partners #brief5 .hp-expand::after { transition: none !important; }
}
