/* Homepage directions only; image-edge decoration never participates in layout. */
.bf-home-directions .bf-home-direction__image {
  position: relative;
  border-radius: 12px;
  overflow: visible;
  --bf-direction-outline: rgba(112, 104, 92, .28);
  --bf-direction-comet-opacity: .9;
}
.bf-home-directions .bf-home-direction__image > .bf-home-image-pair {
  border-radius: inherit;
  overflow: hidden;
}
.bf-home-directions .bf-home-direction__image::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--bf-direction-outline);
  border-radius: inherit;
  pointer-events: none;
  z-index: 2;
}
.bf-home-directions .bf-home-direction__image:hover,
.bf-home-directions .bf-home-direction__image:focus-visible {
  --bf-direction-outline: rgba(112, 104, 92, .46);
  --bf-direction-comet-opacity: 1;
}
.bf-home-directions .bf-home-direction__image > .bf-direction-border {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  z-index: 3;
  opacity: var(--bf-direction-comet-opacity);
}
.bf-home-directions .bf-direction-border rect {
  fill: none;
  stroke: #fff6e5;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: var(--bf-direction-length, 1.5) calc(1000 - var(--bf-direction-length, 1.5));
  stroke-dashoffset: var(--bf-direction-offset, 0px);
  animation: bf-direction-lap 120s linear infinite;
  animation-play-state: paused;
}
.bf-home-directions .bf-direction-border .bf-direction-head-edge {
  stroke: rgba(55, 44, 29, .4);
  stroke-width: 4;
}
.bf-home-directions .bf-direction-star {
  offset-anchor: 0px 0px;
  offset-rotate: 0deg;
  transform-box: view-box;
  fill: #fffaf0;
  filter: drop-shadow(0 0 1.5px rgba(255, 252, 242, 1)) drop-shadow(0 0 4px rgba(255, 244, 220, .9)) drop-shadow(0 0 7px rgba(255, 244, 220, .35));
  animation: bf-direction-star-lap 120s linear infinite;
  animation-play-state: paused;
}
.bf-home-directions .bf-home-direction__image[data-direction-running="true"] .bf-direction-border rect,
.bf-home-directions .bf-home-direction__image[data-direction-running="true"] .bf-direction-star {
  animation-play-state: running;
}
@keyframes bf-direction-star-lap {
  from { offset-distance: 0%; }
  to { offset-distance: 100%; }
}
@keyframes bf-direction-lap {
  from { stroke-dashoffset: var(--bf-direction-offset, 0px); }
  to { stroke-dashoffset: calc(var(--bf-direction-offset, 0px) - 1000px); }
}
@media (prefers-reduced-motion: reduce) {
  .bf-home-directions .bf-home-direction__image > .bf-direction-border { display: none; }
  .bf-home-directions .bf-direction-border rect,
  .bf-home-directions .bf-direction-star { animation: none; }
}
