/* Variantes del logotipo: se muestran tal como fueron proporcionadas, sin filtros. */
.hero-logo,
.contact-logo,
footer img {
  filter: none;
}

.hero-logo {
  opacity: 1;
}

.contact-logo {
  opacity: .09;
}

/* Bordes moderadamente suaves y microinteracciones. */
.outline-button,
.gold-button {
  border-radius: 8px;
}

.outline-button,
.gold-button,
.service-row,
.service-row>a,
.note-band>a,
.call-link,
.topbar nav a,
.phones a,
.about-image,
.service-photo {
  transition: all .22s ease;
}

.outline-button:hover {
  background: var(--blue);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 7px 15px #092a5b2b;
}

.outline-button:hover i:last-child,
.gold-button:hover i:last-child,
.note-band>a:hover i {
  transform: translateX(4px);
}

.gold-button:hover {
  box-shadow: 0 9px 18px #27130638;
}

.gold-button i:last-child,
.outline-button i:last-child,
.note-band>a i {
  transition: transform .22s ease;
}

.call-link:hover {
  color: #fff;
  transform: translateX(3px);
}

.topbar nav a {
  position: relative;
}

.topbar nav a::after {
  content: '';
  position: absolute;
  height: 1px;
  background: var(--gold);
  left: 0;
  right: 0;
  bottom: -6px;
  transform: scaleX(0);
  transition: transform .2s ease;
}

.topbar nav a:hover::after {
  transform: scaleX(1);
}

.service-row:hover {
  padding-left: 8px;
  background: #fffdf9;
}

.service-row:hover>a {
  background: var(--gold);
  transform: translateX(3px);
}

.service-row>a i {
  font-size: 12px;
}

.note-band>a:hover {
  color: var(--blue);
  transform: translateX(3px);
}

.about-image:hover {
  transform: translateY(-5px);
}

.about-image:hover img {
  transform: scale(1.035);
}

.about-image img {
  transition: transform .4s ease;
}

.service-photo:hover {
  transform: translateY(-5px);
  box-shadow: 20px 22px 0 #d6b77b;
}

.service-photo:hover img {
  transform: scale(1.045);
}

.service-photo img {
  transition: transform .45s ease;
}

.phones a:hover {
  color: #e8c879;
  transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}