/* GMO-Flatt header slots — our marks (Higgs reticle + typeset names) */
.co-groupbar {
  position: sticky;
  top: 0;
  z-index: 120;
  background: #111;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.co-groupbar-inner {
  max-width: 1280px;
  margin: 0 auto;
  min-height: 28px;
  padding: 4px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.co-groupbar a {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.co-groupbar img {
  display: block;
  height: 13px;
  width: auto;
  max-width: 280px;
  object-fit: contain;
}

.co-groupbar-right {
  display: flex;
  align-items: center;
  gap: 20px;
}

.co-groupbar-right img {
  height: 18px;
  max-width: 200px;
}

.site-header {
  top: 0;
}

.site-header .logo {
  display: flex !important;
  align-items: center;
  min-height: 36px;
}

.site-header .co-lockup {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  color: #fff;
}

.site-header .co-lockup.logo-dark {
  color: #141210;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  pointer-events: none;
}

.site-header.white .co-lockup.logo-dark,
.site-header.crimson.scrolled .co-lockup.logo-dark {
  opacity: 1;
}

.site-header.white .co-lockup.logo-white,
.site-header.crimson.scrolled .co-lockup.logo-white {
  opacity: 0;
}

.site-header .co-reticle {
  width: 28px;
  height: 28px;
  flex: none;
  display: block;
}

.site-header .co-lockup-words {
  font-family: Syne, "IBM Plex Sans JP", sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(1.05rem, 2.1vw, 1.45rem) !important;
  letter-spacing: -0.03em;
  line-height: 1 !important;
  white-space: nowrap;
  color: inherit;
}

.banner-logo-link img,
.banner img:not(.banner-btn),
.prod-mini-logo img {
  object-fit: contain !important;
  object-position: left center;
  width: auto !important;
  max-width: 100%;
  height: auto !important;
  max-height: 54px;
}

.banner .banner-kenro {
  max-height: 34px !important;
  width: auto !important;
  height: auto !important;
}

@media (max-width: 768px) {
  .co-groupbar-inner { padding: 4px 12px; }
  .co-groupbar img { height: 11px; max-width: 38vw; }
  .co-groupbar-right { gap: 10px; }
  .site-header .co-reticle { width: 22px; height: 22px; }
  .site-header .co-lockup-words { font-size: 0.98rem !important; }
  .banner-logo-link img,
  .banner img:not(.banner-btn),
  .prod-mini-logo img { max-height: 40px; }
}
