/* Shared project header for equipment and business-service introductions. */
.header { flex-wrap: wrap; }
.header .brand { display: block; font-size: 23px; font-weight: 700; line-height: 1.8; }
.header .brand-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: #1d2d3c;
  font-size: 23px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: -0.04em;
  transition: color 0.2s;
}
.header .brand-link:visited { color: #1d2d3c; }
.header .brand-link:hover { color: #437a58; }
.header .brand-link:focus-visible { outline: 2px solid #437a58; outline-offset: 5px; border-radius: 4px; }
.header .brand-link > span { display: inline; font-size: inherit; letter-spacing: inherit; }
.header .brand-link .brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: #245d45;
  color: #fff;
  font-size: 27px;
  line-height: 1;
  font-weight: 700;
  flex-shrink: 0;
}
.header .brand small { display: block; padding-left: 44px; font-size: 11px; letter-spacing: 0.15em; color: #6c7b88; }
.header .badge { display: inline-block; border: 1px solid #b4c2cd; border-radius: 30px; padding: 7px 18px; font-size: 14px; }
@media (max-width: 650px) {
  .header { gap: 14px; }
  .header .brand-link { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) { .header .brand-link { transition: none; } }
