/* Shared, deliberately small component vocabulary for the frozen V2.0 site. */
.component-kicker {
  margin: 0;
  color: var(--brand-red);
  font: 700 11px/1.1 var(--font-sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.component-scene-label {
  color: #fff;
  font-size: 12px;
  letter-spacing: .05em;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .45);
}

.component-button {
  display: inline-flex;
  min-height: var(--button-height);
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 0 22px;
  border: 1px solid var(--brand-red);
  background: var(--brand-red);
  color: #fff;
  font-size: 14px;
  letter-spacing: .02em;
  text-decoration: none;
  transition: .2s;
}

.component-button:hover {
  border-color: var(--brand-deep-red);
  background: var(--brand-deep-red);
  color: #fff;
  transform: translateY(-1px);
}

.component-media {
  overflow: hidden;
  border-radius: var(--card-radius);
  background: var(--surface-soft);
}

/* Keep public page titles true black on light surfaces. */
h1,
h2 {
  color: var(--heading-color, #000000);
}

/* Retain white titles when they sit over a dark surface or photograph. */
:where(
  .hero,
  .home-hero,
  .about-redesign__hero,
  .about-redesign__info,
  .contact-hero,
  .goods-hero,
  .solutions-hero,
  .dark-section,
  .cta
) :is(h1, h2) {
  color: #fff;
}

/* Keep public page section headings focused on their Chinese title. */
main :is(
  .eyebrow,
  [class*="__eyebrow"],
  [class*="-eyebrow"],
  .kicker,
  [class*="__kicker"],
  [class*="-kicker"],
  .component-kicker
) {
  display: none !important;
}


/* Vector search and disclosure icons render consistently without relying on system symbol fonts. */
.site-search-icon, .site-chevron-icon { display: block; width: 1em; height: 1em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.search-button { display: inline-grid; place-items: center; }
.search-field > span { display: inline-flex; align-items: center; justify-content: center; }
