/* Approved homepage application areas. Shared typography and slider behavior remain unchanged. */
.hero-industry-hint {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: baseline;
  gap: 6px 16px;
  width: max-content;
  max-width: min(100%, 1000px);
  margin-top: 22px;
  color: rgba(255, 255, 255, .86);
  font-size: clamp(14px, .98vw, 16px);
  line-height: 1.65;
}
.hero-industry-label {
  flex: none;
  color: rgba(255, 255, 255, .65);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .06em;
}
.hero-industry-list {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 3px 18px;
  overflow: hidden;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hero-industry-list li {
  position: relative;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow-wrap: anywhere;
}
.hero-industry-list li::before {
  position: absolute;
  left: -11px;
  color: rgba(255, 255, 255, .48);
  content: '·';
}
.hero-industry-core { color: rgba(255, 255, 255, .95); font-weight: 600; }
@media (max-width: 700px) {
  .hero-industry-hint { grid-template-columns: minmax(0, 1fr); gap: 5px; width: auto; max-width: 100%; margin-top: 18px; font-size: 14px; }
  .hero-industry-label { font-size: 11px; }
  .hero-industry-list { row-gap: 3px; }
}

/* Let the longest translated scene set the shared stage height instead of
   pushing content under the fixed header. Opacity transitions remain intact. */
.v7-home .v7-hero {
  display: grid;
  height: auto;
  min-height: max(720px, 100svh);
}
.v7-home .v7-hero-slide {
  position: relative;
  inset: auto;
  grid-area: 1 / 1;
  display: flex;
  min-width: 0;
}
.v7-home .v7-hero-copy {
  height: auto;
  min-height: max(720px, 100svh);
}
.v7-home .v7-hero-copy > * { flex-shrink: 0; }
@media (min-width: 701px) {
  html:not([lang="zh-CN"]) .v7-hero-copy { padding-top: 130px; }
}
@media (max-width: 700px) {
  .v7-home .v7-hero,
  .v7-home .v7-hero-copy { min-height: max(680px, 100svh); }
}

/* Compact desktop viewports need a proportional display size for longer labels.
   Large screens and the approved Chinese typography retain the original scale. */
@media (min-width: 701px) and (max-height: 850px) {
  html:not([lang="zh-CN"]) .v7-hero-copy :is(h1, h2) {
    max-width: 1000px;
    font-size: clamp(48px, 4.4vw, 68px);
  }
  html:not([lang="zh-CN"]) .v7-hero-copy > p:not(.v7-kicker) { max-width: 740px; }
}

/* Approved first-scene brand mission: option B (18px desktop / 14px mobile). */
.v7-home .v7-hero-copy .hero-mission {
  max-width: 100%;
  font-family: var(--body);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .10em;
  line-height: 1.45;
  text-transform: none;
}
html[lang="ko"] .v7-hero-copy .hero-mission { word-break: keep-all; overflow-wrap: break-word; }
@media (max-width: 700px) {
  .v7-home .v7-hero-copy .hero-mission { font-size: 14px; letter-spacing: .06em; }
}
