.uv-shared-motion {
  will-change: opacity, transform;
}

.uv-shared-motion[data-reveal].is-visible,
.uv-shared-motion[data-reveal].uv-in {
  opacity: 1;
  transform: none;
}

.uv-shared-lead-copy,
.uv-shared-lead-form,
.uv-shared-contacts-copy,
.uv-shared-map,
.uv-shared-office,
.uv-shared-office-card {
  transition:
    opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.45s cubic-bezier(0.16, 0.84, 0.44, 1),
    filter 0.45s cubic-bezier(0.16, 0.84, 0.44, 1),
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    background 0.35s ease !important;
}

.uv-shared-link,
.uv-shared-contact-row,
.uv-shared-social,
.uv-shared-directions,
.uv-shared-submit,
.uv-shared-input {
  transition:
    transform 0.28s cubic-bezier(0.16, 0.84, 0.44, 1),
    color 0.28s ease,
    border-color 0.28s ease,
    background 0.28s ease,
    box-shadow 0.28s ease !important;
}

.uv-shared-link:hover,
.uv-shared-link:focus-visible {
  color: #e9c39a !important;
  transform: translateX(4px);
}

.uv-shared-input:focus {
  border-color: rgba(233, 195, 154, 0.72) !important;
  box-shadow: 0 0 0 3px rgba(200, 144, 88, 0.16);
}

.uv-shared-submit:hover,
.uv-shared-submit:focus-visible {
  box-shadow: 0 18px 38px -18px rgba(200, 144, 88, 0.88);
  transform: translateY(-2px);
}

.uv-shared-lead-form:hover,
.uv-shared-lead-form:focus-within,
.uv-shared-map:hover,
.uv-shared-map:focus-within {
  box-shadow: 0 36px 82px -40px rgba(19, 41, 75, 0.72);
  transform: translateY(-4px);
}

.uv-shared-contact-row:hover,
.uv-shared-contact-row:focus-within {
  transform: translateX(4px);
}

.uv-shared-contact-row:hover a,
.uv-shared-contact-row:focus-within a {
  color: #a9763f !important;
}

.uv-shared-social:hover,
.uv-shared-social:focus-visible {
  background: #fbf8f0 !important;
  border-color: #d9b890 !important;
  box-shadow: 0 16px 34px -26px rgba(19, 41, 75, 0.52);
  transform: translateY(-3px);
}

.uv-shared-directions:hover,
.uv-shared-directions:focus-visible {
  border-color: rgba(200, 144, 88, 0.72) !important;
  box-shadow: 0 16px 34px -24px rgba(19, 41, 75, 0.48);
  transform: translateY(-2px);
}

.uv-shared-office-card:hover,
.uv-shared-office-card:focus-visible {
  filter: saturate(1.04);
  transform: translateY(-6px);
}

.uv-shared-office-card:hover .uv-shared-office-image,
.uv-shared-office-card:focus-visible .uv-shared-office-image {
  border-color: #d9b890 !important;
  box-shadow: 0 32px 64px -34px rgba(19, 41, 75, 0.66);
}

.uv-shared-office-image img {
  transition: transform 0.55s cubic-bezier(0.16, 0.84, 0.44, 1);
}

.uv-shared-office-card:hover .uv-shared-office-image img,
.uv-shared-office-card:focus-visible .uv-shared-office-image img {
  transform: scale(1.045);
}

.uv-shared-office-zoom {
  transition:
    transform 0.3s cubic-bezier(0.16, 0.84, 0.44, 1),
    background 0.3s ease,
    border-color 0.3s ease;
}

.uv-shared-office-card:hover .uv-shared-office-zoom,
.uv-shared-office-card:focus-visible .uv-shared-office-zoom {
  background: rgba(12, 23, 48, 0.82) !important;
  border-color: rgba(233, 195, 154, 0.82) !important;
  transform: translateY(-2px) scale(1.06);
}

.uv-city-card {
  transition:
    opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.4s cubic-bezier(0.16, 0.84, 0.44, 1),
    border-color 0.35s ease,
    box-shadow 0.35s ease !important;
}

.uv-city-card:hover,
.uv-city-card:focus-within {
  border-color: #d9b890 !important;
  box-shadow: 0 30px 60px -34px rgba(19, 41, 75, 0.52);
  transform: translateY(-6px);
}

.uv-city-card a:hover,
.uv-city-card a:focus-visible {
  color: #a9763f !important;
}

@media (prefers-reduced-motion: reduce) {
  .uv-shared-lead-copy,
  .uv-shared-lead-form,
  .uv-shared-contacts-copy,
  .uv-shared-map,
  .uv-shared-office,
  .uv-shared-office-card,
  .uv-shared-link,
  .uv-shared-contact-row,
  .uv-shared-social,
  .uv-shared-directions,
  .uv-shared-submit,
  .uv-shared-input,
  .uv-shared-office-image img,
  .uv-shared-office-zoom,
  .uv-city-card {
    transition: none !important;
  }

  .uv-shared-link:hover,
  .uv-shared-link:focus-visible,
  .uv-shared-submit:hover,
  .uv-shared-submit:focus-visible,
  .uv-shared-lead-form:hover,
  .uv-shared-lead-form:focus-within,
  .uv-shared-map:hover,
  .uv-shared-map:focus-within,
  .uv-shared-contact-row:hover,
  .uv-shared-contact-row:focus-within,
  .uv-shared-social:hover,
  .uv-shared-social:focus-visible,
  .uv-shared-directions:hover,
  .uv-shared-directions:focus-visible,
  .uv-shared-office-card:hover,
  .uv-shared-office-card:focus-visible,
  .uv-shared-office-card:hover .uv-shared-office-image img,
  .uv-shared-office-card:focus-visible .uv-shared-office-image img,
  .uv-city-card:hover,
  .uv-city-card:focus-within {
    transform: none !important;
  }
}

/* Contacts hero (variant 1b) — reflow on narrow viewports */
@media (max-width: 860px) {
  .uv-shared-contacts-hero {
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }
  .uv-shared-contacts-hero .uv-shared-contacts-copy {
    padding: 40px 28px !important;
    background: linear-gradient(180deg, rgba(9, 18, 35, 0.72), rgba(9, 18, 35, 0.9)) !important;
  }
}
