/* Interaction states and screenshot-matched desktop refinements. */

.quick-link {
  position: relative;
  overflow: hidden;
  filter: none;
}

.quick-link-label,
.quick-link-description {
  grid-area: 1 / 1;
  transition: opacity 140ms ease;
}

.quick-link-label {
  opacity: 1;
}

.quick-link-description {
  width: 88%;
  max-width: 19rem;
  opacity: 0;
  font-size: 1.22rem !important;
  font-weight: 600 !important;
  line-height: 1.42 !important;
}

.quick-link:hover,
.quick-link:focus-visible {
  filter: none;
}

.quick-link:hover .quick-link-label,
.quick-link:focus-visible .quick-link-label {
  opacity: 0;
}

.quick-link:hover .quick-link-description,
.quick-link:focus-visible .quick-link-description {
  opacity: 1;
}

.quick-link:focus-visible {
  outline: 3px solid rgba(45, 63, 12, 0.6);
  outline-offset: -3px;
}

@media (min-width: 1101px) {
  .locations {
    margin-top: 4rem;
    margin-bottom: 1.95rem;
  }

  .location-card h2 {
    font-size: 1.4rem;
  }

  .location-card address {
    font-size: 1.02rem;
  }

  .hero-tour {
    width: 165px;
    height: 165px;
    font-size: 2.25rem;
  }

  .site-title {
    font-size: 4.12rem;
  }
}

@media (max-width: 780px) {
  .quick-link-description {
    max-width: 26rem;
    font-size: 1.08rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .quick-link-label,
  .quick-link-description {
    transition: none;
  }
}
