/* REV050 — one quiet language control and one mobile footer hierarchy.
   Film geometry, depth layers and the approved Korean desktop copy stay put. */
.header .brand { position: relative; }
.header .brand-context { display: none; }
/* The new descriptor follows the two images, so :last-child no longer names
   the wordmark. Keep its existing aspect and responsive width explicitly. */
.header .brand img:nth-of-type(2) { width: 158px; }
.header .languages {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(2, 44px);
  gap: 0;
  width: 94px;
  min-height: 50px;
  height: 50px;
  padding: 2px;
  border: 1px solid rgb(245 242 234 / .19);
  border-radius: 999px;
  background: rgb(18 20 18 / .75);
  box-shadow: inset 0 1px 0 rgb(245 242 234 / .045);
}
.header .languages::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 2px;
  left: 2px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: #d7b44a;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .15);
  transform: translateX(0);
  transition: transform 220ms cubic-bezier(.2,.75,.25,1);
  pointer-events: none;
}
.header .languages[data-active-language="ko"]::before { transform: translateX(100%); }
.header .languages > a,
.header .languages > a:first-child,
.header .languages > a:last-child {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  color: rgb(245 242 234 / .68);
  font-size: 11px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: .035em;
  text-decoration: none;
  touch-action: manipulation;
  transition: color 160ms ease;
}
.header .languages > a:hover { background: transparent; color: #f5f2ea; }
.header .languages > a[aria-current] { background: transparent; box-shadow: none; color: #11140f; }
.header .languages > a:focus-visible { outline: 2px solid #f5f2ea; outline-offset: 2px; }

.office-label-short { display: none; }
#stage[data-sitewide-revision="true"] :is(#difference, #vision-learning, #vision-execution) .future-eyebrow {
  display: flex;
  align-items: center;
  min-height: 44px;
  margin: 0 0 12px;
}
#stage[data-sitewide-revision="true"] .scene--future .future-copy > .future-progress {
  position: absolute;
  inset: 0 0 auto auto;
  display: flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  margin: 0;
  font: 9px/1 monospace;
  letter-spacing: .08em;
}
#stage[data-sitewide-revision="true"] .future-progress > a {
  position: relative;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 10px;
  color: rgb(245 242 234 / .53);
  text-decoration: none;
  touch-action: manipulation;
}
#stage[data-sitewide-revision="true"] .future-progress > a::after {
  content: "";
  position: absolute;
  inset: auto 12px 5px;
  height: 1px;
  background: #d7b44a;
  transform: scaleX(0);
  transition: transform 160ms ease;
}
#stage[data-sitewide-revision="true"] .future-progress > a:is(:hover, [aria-current="step"]) { color: #d7b44a; }
#stage[data-sitewide-revision="true"] .future-progress > a[aria-current="step"]::after { transform: scaleX(1); }
#stage[data-sitewide-revision="true"] .future-progress > a:focus-visible { outline: 2px solid #d7b44a; outline-offset: -3px; border-radius: 4px; }

/* English keeps the same semantic hierarchy while allowing Latin words to
   wrap at real spaces. No body is clipped, replaced or independently scrolled. */
html[lang="en"] #stage .copy :is(h1, h2, h3, .scene-subtitle, .story-unit, .future-body, .future-title, .person-bio) {
  word-break: normal;
  overflow-wrap: break-word;
}
html[lang="en"] #stage .copy :is(.chapter-hero h3, .future-hero h2) { letter-spacing: -.04em; }
html[lang="en"] #stage[data-opening-revision="true"] #copy-one .hero h1 { font-size: clamp(62px, min(6.25vw, 10dvh), 90px); }
html[lang="en"] #stage[data-opening-revision="true"] #copy-one .hero-opening { font-size: .64em; letter-spacing: -.04em; }
html[lang="en"] #stage[data-opening-revision="true"] #copy-one .hero-statement { font-size: 1em; letter-spacing: -.055em; }
html[lang="en"] #stage[data-opening-revision="true"] #copy-one .scene-subtitle {
  font-size: min(clamp(19px, 1.7vw, 27px), calc(var(--opening-statement-width) / 16.5));
  letter-spacing: -.025em;
}
html[lang="en"] #stage[data-opening-revision="true"] #copy-two { --reel-size: clamp(38px, min(4.4vw, 6.8dvh), 64px); }
html[lang="en"] #stage[data-opening-revision="true"] #final-vision { --reel-size: clamp(34px, min(3.8vw, 6.3dvh), 56px); }
html[lang="en"] #stage[data-sitewide-revision="true"] .copy:is(#vision, #company-overview, #founder, #identity) {
  --reel-size: clamp(34px, min(3.6vw, 6.5dvh), 54px);
}
html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future .future-hero h2 {
  font-size: clamp(34px, min(3.75vw, 6.7dvh), 56px);
}
html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .future-hero h2 { font-size: clamp(32px, min(3vw, 6dvh), 46px); }
html[lang="en"] #stage[data-sitewide-revision="true"] #company-overview.copy .narrative-label { font-size: 22px; }

@media (max-width: 900px) {
  .header .brand img:nth-of-type(2) { width: 128px; }
}
@media (max-width: 760px) {
  .header { gap: 8px; padding-inline: clamp(12px, calc(10vw - 20px), 16px); }
  .header .header-actions { gap: 6px; }
  .header .brand { min-height: 50px; }
  .header .brand-context {
    position: absolute;
    left: 33px;
    top: 39px;
    display: block;
    width: max-content;
    margin: 0;
    color: rgb(245 242 234 / .5);
    font: 6.5px/1.2 monospace;
    letter-spacing: .11em;
    white-space: nowrap;
  }
  .header .mobile-navigation > summary {
    width: clamp(44px, calc(70vw - 180px), 72px);
    min-width: 44px;
    min-height: 50px;
    padding-inline: 9px;
    gap: 6px;
  }
  #stage .meta { display: none; }
  #stage .office-locations {
    left: 50%;
    right: auto;
    bottom: max(8px, calc(env(safe-area-inset-bottom) + 8px));
    box-sizing: border-box;
    width: max-content;
    max-width: calc(100% - 24px);
    height: 44px;
    min-height: 44px;
    gap: 10px;
    transform: translateX(-50%);
    font-size: 8.5px;
    line-height: 1.4;
    letter-spacing: .025em;
  }
  #stage .office-locations .office-label-long { display: none; }
  #stage .office-locations .office-label-short { display: inline; }
  #stage .office-locations > * + *,
  #stage .office-locations > .office-location-link { padding-left: 10px; background-size: 1px .8em; }
  #stage .office-location-trigger { min-width: 44px; min-height: 44px; height: 44px; }
  #stage .office-location-card { bottom: calc(100% + 12px); }
  #stage:is([data-opening-revision="true"], [data-sitewide-revision="true"]) .scene-navigation {
    left: 50%;
    right: auto;
    top: auto;
    bottom: max(60px, calc(env(safe-area-inset-bottom) + 60px));
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 156px;
    height: 48px;
    padding: 1px;
    gap: 2px;
    transform: translateX(-50%);
  }
  #stage:is([data-opening-revision="true"], [data-sitewide-revision="true"]) .scene-navigation button {
    width: 44px;
    height: 44px;
    min-height: 44px;
    flex: 0 0 44px;
    padding: 11px;
  }
  #stage .scene-navigation-count { font-size: 10px; gap: 5px; }
  #stage[data-sitewide-revision="true"] .copy:is(#vision, #company-overview, #founder, #identity, #business, #products, #research) { padding-bottom: 128px; }
  #stage[data-sitewide-revision="true"] :is(#difference, #vision-learning, #vision-execution) .future-eyebrow { margin-bottom: 10px; font-size: 7px; letter-spacing: .1em; }
  #stage[data-sitewide-revision="true"] .scene--future .future-copy > .future-progress { gap: 2px; font-size: 8px; }
  html[lang="en"] #stage[data-opening-revision="true"] #copy-one .hero h1 { font-size: clamp(58px, 17vw, 76px); }
  html[lang="en"] #stage[data-opening-revision="true"] #copy-one .scene-subtitle {
    font-size: min(clamp(18px, 4.8vw, 23px), calc(var(--opening-statement-width) / 16.5));
    line-height: 1.5;
  }
  html[lang="en"] #stage[data-opening-revision="true"] #copy-two { --reel-size: clamp(30px, min(8.7vw, 5.5dvh), 38px); }
  html[lang="en"] #stage[data-opening-revision="true"] #final-vision { --reel-size: clamp(29px, 8vw, 36px); }
  html[lang="en"] #stage[data-sitewide-revision="true"] .copy:is(#vision, #company-overview, #founder, #identity) { --reel-size: clamp(28px, 8vw, 36px); }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future .future-hero h2 { font-size: clamp(29px, 8.4vw, 36px); line-height: 1.2; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future .future-title { font-size: 19px; line-height: 1.4; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future .future-body { font-size: 14px; line-height: 1.7; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .person-bio { font-size: 14px; line-height: 1.45; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #research.copy .business-area-title { font-size: 19px; }
}

@media (max-width: 384px) {
  .header .brand img:nth-of-type(2) { width: 110px; }
  .header .brand-context { left: 28px; font-size: 6px; letter-spacing: .09em; }
}

/* Native390×844 evidence: the full English introduction and three biographies
   exceeded the reading region. Release spacing and portrait height while
   retaining every biography at14px and every action at44px. */
@media (max-width: 760px) and (orientation: portrait) and (min-height: 781px) {
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .future-layout { gap: 10px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .future-eyebrow { margin-bottom: 6px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .future-hero h2 { font-size: 28px; line-height: 1.15; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .future-body { margin-top: 10px; line-height: 1.55; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .person-card { grid-template-columns: 40px minmax(0, 1fr); gap: 4px 10px; padding: 6px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .person-photo { height: 40px; min-height: 0; }
}

/* Native360×740 English evidence: release unused card/heading space instead
   of reducing copy or44px actions. The compact team keeps13px biographies. */
@media (max-width: 760px) and (orientation: portrait) and (max-height: 780px) {
  html[lang="en"] #stage[data-sitewide-revision="true"] #products.copy .business-area-title { margin-top: 6px; font-size: 18px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #products.copy .chapter-layout .scene-subtitle { margin-top: 6px; line-height: 1.5; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #products.copy > [data-editorial-content] { gap: 6px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #products.copy [data-editorial-content] > .product-track,
  html[lang="en"] #stage[data-sitewide-revision="true"] #products.copy [data-editorial-content] > .product-track + .product-track { padding: 6px; gap: 3px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #products.copy .product-track > .product-emblem { width: 20px; height: 20px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #products.copy [data-editorial-content] .product-track > h3 { font-size: 15px; line-height: 1.25; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #products.copy [data-editorial-content] .product-track > p:not(.track-eyebrow) { line-height: 1.4; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #research.copy { gap: 10px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #research.copy .business-area-heading { font-size: 30px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #research.copy .business-area-title { margin-top: 8px; font-size: 18px; line-height: 1.3; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #research.copy [data-editorial-content] .research-feature { gap: 6px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #research.copy [data-editorial-content] .research-feature > h3 { font-size: 16.5px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #research.copy [data-editorial-content] .research-feature > p { line-height: 1.5; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #identity.copy .story-unit--brand { grid-template-rows: 40px auto; gap: 8px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #identity.copy .story-unit--brand img { height: 40px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #identity.copy .story-unit--brand p { line-height: 1.65; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .future-layout { inset: 92px 20px 128px; gap: 6px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .future-copy { display: block; width: 100%; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .future-eyebrow { margin-bottom: 4px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .future-hero h2 { font-size: 22px; line-height: 1.15; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .future-body { margin-top: 8px; font-size: 12.5px; line-height: 1.4; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .people-grid { gap: 4px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .person-card { grid-template-columns: 36px minmax(0, 1fr); gap: 3px 9px; padding: 3px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .person-photo { height: 36px; min-height: 0; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .person-bio { font-size: 13px; line-height: 1.4; }
}

@media (max-width: 760px) and (orientation: landscape) {
  .header { padding-block: 10px; }
  .header .brand-context { top: 38px; }
  /* Native740×390: keep the sea declaration on the lens axis while its two
     lines clear the common navigation row. No film/source position changes. */
  #stage[data-opening-revision="true"] #copy-one .scene-subtitle {
    top: min(var(--opening-sea-y), calc(100dvh - 118px - 1.4em));
    font-size: min(18px, calc(var(--opening-statement-width) / 10.5));
    line-height: 1.4;
  }
  #stage[data-sitewide-revision="true"] #company-overview.copy { padding-top: 70px; }
  #stage[data-sitewide-revision="true"] #company-overview.copy > [data-editorial-content] { gap: 6px; font-size: 11.5px; line-height: 1.5; }
  #stage[data-sitewide-revision="true"] #company-overview.copy > [data-editorial-content] > .narrative-graphic { width: min(300px, 100%); }
  #stage[data-sitewide-revision="true"] #company-overview.copy > [data-editorial-content] > .narrative-graphic + .story-unit--copy { margin-top: 0; }
  #stage[data-sitewide-revision="true"] .scene--future .future-layout { inset: 70px 24px 128px; gap: 16px; }
  #stage[data-sitewide-revision="true"] :is(#difference, #vision-learning, #vision-execution) .future-copy { width: 76%; }
  #stage[data-sitewide-revision="true"] :is(#difference, #vision-learning, #vision-execution) .future-graphic { width: 20%; }
  #stage[data-sitewide-revision="true"] .scene--future .future-eyebrow { font-size: 7px; }
  #stage[data-sitewide-revision="true"] .scene--future .future-hero h2 { font-size: 24px; }
  #stage[data-sitewide-revision="true"] .scene--future .future-title { margin: 10px 0 7px; font-size: 16px; }
  #stage[data-sitewide-revision="true"] .scene--future .future-body { font-size: 11px; line-height: 1.5; }
  #stage[data-sitewide-revision="true"] .scene--future-people .future-layout { gap: 6px; }
  #stage[data-sitewide-revision="true"] .scene--future-people .future-hero h2 { font-size: 18px; line-height: 1.18; }
  #stage[data-sitewide-revision="true"] .scene--future-people .future-body { font-size: 11px; line-height: 1.4; }
  #stage[data-sitewide-revision="true"] .scene--future-people .person-card { grid-template-columns: 36px minmax(0, 1fr); padding: 6px; gap: 4px 8px; }
  #stage[data-sitewide-revision="true"] .scene--future-people .person-photo { width: 36px; height: 36px; min-height: 0; }
  #stage[data-sitewide-revision="true"] .scene--future-people .person-meta { min-height: 36px; }
  #stage[data-sitewide-revision="true"] .scene--future-people .person-meta h3 { display: inline; margin: 0 5px 0 0; font-size: 16px; }
  #stage[data-sitewide-revision="true"] .scene--future-people .person-name { display: inline; font-size: 7px; }
  #stage[data-sitewide-revision="true"] .scene--future-people .person-role { float: right; margin-top: 2px; }
  #stage[data-sitewide-revision="true"] .scene--future-people .person-former { margin-top: 3px; line-height: 1.4; }
  #stage[data-sitewide-revision="true"] .scene--future-people .person-bio { margin-top: 4px; font-size: 11px; line-height: 1.4; }
  #stage[data-sitewide-revision="true"] #products.copy { padding-top: 68px; gap: 2px; }
  #stage[data-sitewide-revision="true"] #products.copy .business-area-heading { font-size: 23px; }
  #stage[data-sitewide-revision="true"] #products.copy [data-editorial-content] > .product-track,
  #stage[data-sitewide-revision="true"] #products.copy [data-editorial-content] > .product-track + .product-track { padding: 3px; gap: 2px; }
  #stage[data-sitewide-revision="true"] #products.copy .product-track > .product-emblem { width: 18px; height: 18px; }
  #stage[data-sitewide-revision="true"] #products.copy [data-editorial-content] .product-track > h3 { font-size: 14px; line-height: 1.3; }
  #stage[data-sitewide-revision="true"] #products.copy [data-editorial-content] .product-track > p:not(.track-eyebrow) { margin: 0 0 2px; font-size: 11px; line-height: 1.35; }
  #stage[data-sitewide-revision="true"] #identity.copy > [data-editorial-content] { inset: 70px calc(var(--gutter) + 32px) auto auto; }
  #stage[data-sitewide-revision="true"] #founder.copy { --founder-width: min(580px, calc(100vw - 112px)); justify-content: flex-start; padding-top: 70px; }
  #stage[data-sitewide-revision="true"] #founder.copy :is(.chapter-kicker, .chapter-line) { display: inline; width: auto; }
  #stage[data-sitewide-revision="true"] #business.copy { padding-top: 68px; gap: 6px; }
  #stage[data-sitewide-revision="true"] #business.copy .business-branch { grid-template-rows: 58px 33px; gap: 4px; }
  #stage[data-sitewide-revision="true"] #business.copy .business-portal { padding-block: 5px; gap: 2px; }
  #stage[data-sitewide-revision="true"] #business.copy .business-portal > [data-business-icon] { width: 20px; height: 20px; }
  #stage[data-sitewide-revision="true"] #business.copy .chapter-hero > h3 { font-size: 20px; line-height: 1.2; }
  #stage[data-sitewide-revision="true"] #research.copy { padding-top: 70px; }
  #stage[data-sitewide-revision="true"] #research.copy .chapter-layout { position: absolute; inset: 70px auto auto 24px; width: min(260px, 36vw); }
  #stage[data-sitewide-revision="true"] #research.copy .business-area-heading { font-size: 21px; }
  #stage[data-sitewide-revision="true"] #research.copy > [data-editorial-content] > .narrative-graphic { inset: auto auto 128px 24px; width: 180px; padding: 8px; }
  #stage[data-sitewide-revision="true"] #research.copy [data-editorial-content] .research-feature { position: absolute; inset: 70px 24px auto auto; margin: 0; padding: 8px; gap: 6px; }
  html[lang="en"] #stage[data-opening-revision="true"] #copy-one .hero h1 { font-size: 58px; }
  html[lang="en"] #stage[data-opening-revision="true"] #copy-one .scene-subtitle { font-size: min(18px, calc(var(--opening-statement-width) / 16.5)); }
  html[lang="en"] #stage[data-opening-revision="true"] :is(#copy-two, #final-vision) { --reel-size: 26px; }
  html[lang="en"] #stage[data-opening-revision="true"] :is(#copy-two, #final-vision) > [data-opening-content] { font-size: 11px; line-height: 1.5; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .copy:is(#vision, #company-overview, #founder, #identity) { --reel-size: 24px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future .future-hero h2 { font-size: 24px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future .future-title { font-size: 16px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future .future-body { font-size: 11px; line-height: 1.5; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .future-hero h2 { font-size: 18px; }
  html[lang="en"] #stage[data-sitewide-revision="true"] .scene--future-people .person-bio { font-size: 11px; line-height: 1.4; }
  html[lang="en"] #stage[data-sitewide-revision="true"] #research.copy .narrative-label { font-size: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  .header .languages::before,
  .header .languages > a,
  #stage[data-sitewide-revision="true"] .future-progress > a::after { transition: none; }
}
