.brand {
  min-width: 230px;
  min-height: 54px;
  padding: 8px 14px;
  border-radius: 7px;
  background: #102a43;
}

.cards.three-cards { grid-template-columns: repeat(3, 1fr); }
.cards.three-cards .card-body { padding: 30px 24px; }
.hill-services { grid-template-columns: repeat(2, 1fr); }

@media (max-width: 920px) {
  .cards.three-cards { grid-template-columns: 1fr; }
}

.logo-img {
  display: block;
  width: 205px;
  height: auto;
  object-fit: contain;
}

.header .brand,
.footer .brand {
  background: transparent;
}

.header .logo-img {
  filter: brightness(0) saturate(100%) invert(14%) sepia(20%) saturate(1780%) hue-rotate(164deg) brightness(89%) contrast(95%);
}

.header-location {
  min-height: 42px;
  padding: 8px 16px;
  background: #1677a8;
  border-color: #1677a8;
}

.location-card .card-body {
  padding: 36px;
}

@media (min-width: 521px) {
  .location-card .actions {
    flex-wrap: nowrap;
  }

  .location-card .actions .btn:first-child {
    flex: 1 1 auto;
    min-width: 0;
    padding-left: 12px;
    padding-right: 12px;
    white-space: nowrap;
  }

  .location-card .actions .btn.outline {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

@media (max-width: 520px) {
  .nav {
    gap: 8px;
  }

  .links {
    gap: 6px;
  }

  .brand {
    min-width: 140px;
    min-height: 46px;
    padding: 7px 4px;
  }

  .logo-img {
    width: 135px;
  }

  .header-location {
    min-height: 38px;
    padding: 6px 10px;
    font-size: 0.78rem;
  }

  .location-card .card-body {
    padding: 28px 24px;
  }

  .nav { gap: 5px; }
  .links { gap: 4px; }
  .brand { min-width: 96px; }
  .logo-img { width: 96px; }
  .header-location { padding: 5px 6px; font-size: 0.68rem; }
  .hill-services { grid-template-columns: 1fr; }
}
