/* Shared, readable type and a headquarters-led industrial identity. */
:root {
  --muted: #536472;
  --solution-line: #c9d5de;
}

body { font-size: 1.083333rem; }
.brand, .brand-text, .hq-node > div, .business-role > div { min-width: 0; }
.brand img { flex-shrink: 0; }
.brand-text small { letter-spacing: .055em; line-height: 1.35; }
.nav { gap: 1.6rem; }
.nav a, .menu-btn, .text-link, .arrow-link { line-height: 1.6; }
main h1, main h2, main h3 { overflow-wrap: anywhere; }
html:lang(en) main { hyphens: auto; }
html:lang(en) .corporate-hero h1 { letter-spacing: -.035em; }

/* Body copy has a consistent reading size on every route and device. */
.overview-heading p, .hq-node > p, .business-role p,
.manufacturing-copy > p, .connected-heading > p, .connected-list p,
.experience-heading p, .home-contact p, .page-intro p,
.section-head p, .card p, .split p, .info-block p, .timeline-item p,
.process-detail p, .network-parent p, .network-owned p,
.network-feature p, .contact-card p, .faq p, .news-card p, .modal p {
  font-size: 1rem;
  line-height: 1.85;
}
.note, .cta p, .cert span { font-size: .875rem; line-height: 1.8; }
.search input { font-size: 1rem; }
.fx-quotes { grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); }
.gallery-label, .manufacturing-image figcaption,
.connected-label, .unit-selector > span, .role-kicker {
  color: #536b7c;
}
.footer p, .footer-links { color: #b6c4ce; line-height: 1.85; }
.footer-bottom { color: #9eafbc; line-height: 1.75; flex-wrap: wrap; }
.manufacturing-image figcaption { flex-wrap: wrap; gap: .5rem 1.5rem; }
.address { font-size: 1.583333rem !important; }

/* Content stays in normal flow, including when translated or enlarged. */
.corporate-hero {
  height: auto;
  min-height: max(43rem, calc(100svh - 13rem));
  max-height: none;
  justify-content: flex-start;
}
.corporate-hero:after {
  background: linear-gradient(90deg, #091725ed, #091725b8 48%, #09172535 100%),
              linear-gradient(0deg, #091725b3, transparent 55%);
}
.corporate-hero-content { padding-top: 4.6rem; padding-bottom: 2.6rem; }
.corporate-hero-content .eyebrow {
  font-size: .875rem;
  letter-spacing: .14em;
  color: #d3e5f1;
  margin-bottom: 1.8rem;
}
.corporate-hero h1 { max-width: 69rem; font-weight: 600; line-height: 1.2; }
.corporate-hero-content > p {
  max-width: 51rem;
  font-size: 1.083333rem;
  line-height: 1.8;
  color: #e0e7ed;
  margin-top: 1.6rem;
}
.hero-services {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem 1.8rem;
  list-style: none;
  padding: 0;
  margin: 1.8rem 0 0;
  color: #e0eaf1;
}
.hero-services li {
  font-size: .9375rem;
  line-height: 1.5;
  font-weight: 500;
  padding-left: .85rem;
  border-left: 1px solid #8eacc1;
}
.hero-link { margin-top: 1.55rem; }
.hero-base {
  position: relative;
  bottom: auto;
  margin-top: auto;
  padding-top: 1.4rem;
  padding-bottom: 1.7rem;
  gap: 2.7rem;
}
.hero-base > div > span, .hero-base > p { color: #c1d0dc; }

/* The headquarters is the single visual anchor for the three operations. */
.overview-heading { grid-template-columns: .85fr 2fr; gap: 3rem; }
.overview-heading > .eyebrow { max-width: 15rem; color: var(--blue); }
.operating-model { border-bottom: 1px solid var(--solution-line); }
.hq-node {
  grid-template-columns: .95fr 1.4fr auto;
  background: #122b40;
  border-top: 3px solid #3d78bf;
  color: white;
  padding: 2.2rem 2rem;
  gap: 2rem;
  margin-bottom: 1.4rem;
}
.hq-label { color: #b1d0e6; letter-spacing: .09em; line-height: 1.65; }
.hq-node strong { font-weight: 650; }
.hq-node > p { color: #e0eaf1; }
.hq-node .arrow-link { color: white; border-bottom: 1px solid #809bb0; }
.hq-node .arrow-link:hover { color: #c0dfff; }
.model-branches { position: relative; border-color: var(--solution-line); }
.model-branches:before {
  content: "";
  position: absolute;
  left: 50%;
  top: -1.4rem;
  width: 1px;
  height: 1.4rem;
  background: #9db2c3;
}
.model-branches > .unit-selector {
  padding: 1.8rem 1.5rem 2rem;
  min-height: 11rem;
  border-color: var(--solution-line);
}
.unit-selector b { font-weight: 600; }
.unit-selector small { color: #536b7c; line-height: 1.7; padding-right: 1.5rem; }
.unit-selector[aria-pressed=true] { background: #eef4fa; }
.unit-selector i { right: 1.2rem; }
.business-role {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 2rem;
  padding: 1.7rem 1.5rem 1.9rem;
  background: #f5f8fa;
  min-height: 0;
}
.business-role > div { display: block; max-width: 62rem; }
.role-kicker { display: block; margin-bottom: .45rem; padding-top: 0; }
.business-role h3 { line-height: 1.55; font-weight: 600; }
.business-role p { margin-top: .6rem; max-width: 54rem; }
.role-link { margin-top: 1.5rem; line-height: 1.6; white-space: normal; }
.connected-list h4 { font-weight: 600; }
.network-parent {
  border-top: 2px solid #7299b8;
  background: #1a3347;
  padding: 2rem;
}
.network-parent p { color: #d0dde6; }
.network-parent span { color: #b1ccdf; }
.network-owned p { color: #c0d0db; }
.network-owned article > span { color: #a8c4d9; line-height: 1.7; }

@media (max-width: 1200px) {
  .nav { gap: 1.05rem; }
  .hq-node { grid-template-columns: 1fr 1.3fr auto; gap: 1.4rem; }
  .corporate-hero-content { padding-top: 4rem; }
}
@media (max-width: 960px) {
  .nav { gap: 0 1.5rem; top: 100%; max-height: calc(100dvh - 6rem); }
  .hq-node { grid-template-columns: 1fr 1.5fr; }
  .hq-node > div { grid-row: 1 / 3; }
  .hq-node > a { grid-column: 2; justify-self: start; }
  .overview-heading { grid-template-columns: 1fr; gap: 0; }
  .overview-heading > .eyebrow { max-width: none; }
  .manufacturing-editorial, .connected-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .manufacturing-image > img,
  html:not(:lang(ko)) .manufacturing-image > img { height: 25rem; min-height: 0; }
  .connected-image img,
  html:not(:lang(ko)) .connected-image img { height: 22rem; min-height: 0; }
  .connected-heading { display: block; }
  .connected-heading > p { margin-top: 1.5rem; max-width: 48rem; }
  .model-branches > .unit-selector { padding: 1.5rem 1.1rem 1.7rem; }
  .manufacturing-image figcaption { display: block; }
  .manufacturing-image figcaption span { display: block; }
}
@media (max-width: 600px) {
  .header .wrap { gap: .625rem; }
  .brand img { width: 3.125rem; }
  .brand-text small { font-size: .75rem; letter-spacing: .025em; }
  .corporate-hero {
    height: auto;
    min-height: 42rem;
    max-height: none;
  }
  .corporate-hero-content { padding-top: 3.25rem; padding-bottom: 2rem; }
  .corporate-hero-content .eyebrow { font-size: .75rem; letter-spacing: .09em; line-height: 1.8; }
  .corporate-hero-content > p { font-size: 1rem; max-width: none; }
  .hero-services { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem 1rem; }
  .hero-services li { font-size: .875rem; padding-left: .65rem; }
  .hero-base { gap: 1rem; padding-top: 1.25rem; padding-bottom: 1.5rem; }
  .hero-base > p { letter-spacing: .04em; }
  .hero-base > a { margin-top: .4rem; padding-top: .5rem; }
  .hq-node { grid-template-columns: minmax(0, 1fr) auto; padding: 1.6rem 1.3rem; gap: 1.2rem; }
  .hq-node > div { grid-row: auto; grid-column: 1 / -1; }
  .hq-node > p { grid-row: auto; grid-column: 1 / -1; }
  .hq-node > a { grid-row: auto; grid-column: 1 / -1; justify-self: start; }
  .hq-node strong { font-size: 1.916667rem; }
  .model-branches > .unit-selector {
    display: block;
    padding: 1.4rem 1.3rem !important;
    min-height: 0;
  }
  .unit-selector > span { margin-bottom: .7rem; }
  .model-branches .unit-selector small,
  html:not(:lang(ko)) .model-branches .unit-selector small {
    margin-top: .55rem;
    font-size: .895833rem;
    text-align: left;
    padding-right: 1.8rem;
  }
  .business-role { display: block; padding: 1.4rem 1.3rem 1.6rem; }
  .business-role .role-link { display: inline-block; margin-top: 1rem; max-width: none; }
  .manufacturing-image > img,
  html:not(:lang(ko)) .manufacturing-image > img { height: 19.5rem; }
  .connected-image img,
  html:not(:lang(ko)) .connected-image img { height: 19rem; }
  .manufacturing-image figcaption { line-height: 1.7; }
  .connected-links { gap: 1rem 1.5rem; }
  .network-parent { padding: 1.5rem 1.25rem; }
  .network-parent .btn { margin-top: 1.3rem; }
  .network-owned article { padding: 1.8rem 0; }
  .address { font-size: 1.395833rem !important; }
  .contact-card a.phone { overflow-wrap: anywhere; }
  .footer-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .footer-main > div { min-width: 0; }
  .footer p, .footer-links { font-size: .875rem; }
  .footer-bottom span { overflow-wrap: anywhere; }
}
