/* Shared model branding. The image is the supplied, unmodified artwork.
   Cropping its outer whitespace in CSS keeps the full logo readable. */
.vv-model-logo {
  display: inline-block;
  position: relative;
  flex: 0 0 88px;
  width: 88px;
  height: 56px;
  overflow: hidden;
  vertical-align: middle;
  border-radius: 6px;
  background: #fff;
  isolation: isolate;
}
.vv-model-logo > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transform: scale(1.13);
}
.vv-brand-row {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.vv-brand-row > :last-child { min-width: 0; }
.site-header .header-inner.vv-brand-row { align-items: flex-start; }
/* Wrap the platform navigation before translated labels can leave the viewport. */
@media (max-width: 1000px) {
  .site-header { flex-wrap: wrap; }
  .site-header .header-inner { flex-wrap: wrap; }
  .site-header .main-nav { flex-wrap: wrap; max-width: 100%; overflow: visible; }
  .site-header .main-nav a { white-space: normal; }
  .site-header > .brand, .site-header > .site-brand { min-width: 0; max-width: 100%; }
  .site-header .brand > :last-child { min-width: 0; overflow-wrap: anywhere; }
  .site-header > .vv-language-switcher { flex-shrink: 0; }
  .platform-header {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .platform-header .platform-brand { min-width: 0; max-width: 100%; }
  .platform-header .platform-brand-text { min-width: 0; overflow-wrap: anywhere; }
  .platform-header .platform-navigation {
    width: 100%; min-width: 0; justify-content: flex-start; flex-wrap: wrap;
  }
  .platform-header .platform-navigation a { max-width: 100%; white-space: normal; }
  .platform-header .platform-navigation .model-library-link { margin-left: 0; }
  .platform-header .vv-language-switcher { flex-shrink: 0; margin-left: 0; }
}
@media (max-width: 900px) {
  .site-header .site-nav { display: flex; flex-wrap: wrap; width: 100%; }
}
@media (max-width: 780px) {
  .museum-bar .controls { flex-wrap: wrap; overflow: visible; }
  .museum-bar .vv-language-switcher { flex-shrink: 0; }
}
@media (max-width: 360px) {
  body { min-width: 0; }
}
@media (max-width: 600px) {
  .platform-header { padding: 12px 14px; }
  .platform-header .platform-navigation { gap: 4px; }
  .platform-header .platform-navigation a { min-height: 44px; display: inline-flex; align-items: center; }
  .platform-header .vv-language-switcher { margin-top: 4px; }
}
@media (max-width: 600px) {
  .vv-model-logo {
    flex-basis: 72px;
    width: 72px;
    height: 46px;
  }
  .vv-brand-row { gap: 10px; }
}
