/* Shared company lockup. The frame trims transparent canvas, never the artwork. */
.asr-lockup {
  display: block;
  position: relative;
  width: 310px;
  max-width: 100%;
  aspect-ratio: 6.2;
  overflow: hidden;
}
.asr-lockup img {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  max-width: none;
  height: auto;
  transform: translateY(-50%);
}
.fn-logo { display: block; flex-shrink: 0; }
.asr-footer-brand { display: block; width: fit-content; max-width: 100%; margin-bottom: 16px; }
.asr-footer-brand .asr-lockup { width: 290px; }
.asr-confirmation-brand { display: block; width: fit-content; max-width: 100%; margin: 0 auto; }
.asr-site-brand { display: block; flex-shrink: 0; max-width: 100%; }
header.site .wrap { max-width: 1160px; gap: 24px; }
header.site nav { display: flex; flex-wrap: wrap; justify-content: flex-end; column-gap: 18px; row-gap: 4px; }
header.site nav a { margin-left: 0; }
.asr-site-brand:focus-visible, .asr-footer-brand:focus-visible, .fn-logo:focus-visible { outline: 2px solid #A76443; outline-offset: 5px; }
@media (max-width: 1100px) {
  .fn-nav-links > a[href^="tel:"] { display: none; }
}
@media (max-width: 767px) {
  .fn-header .fn-nav { flex-wrap: wrap; justify-content: center; gap: 12px; }
  .fn-header .fn-logo { max-width: none; width: 100%; }
  .fn-logo .asr-lockup { width: 310px; margin-inline: auto; }
  .fn-header .fn-nav-links { justify-content: center; flex-wrap: wrap; width: 100%; }
  header.site .wrap { flex-direction: column; align-items: center; gap: 10px; }
  header.site nav { justify-content: center; font-size: 14px; }
  .asr-site-brand .asr-lockup { width: 310px; }
  #relocation-form { scroll-margin-top: 10rem; }
}
