/* Logo lockup door-dot breathe — sitewide header
   Uses no-dot lockup (/assets/logo-house-lockup.png = logo-house-lockup-no-dot).
   Overlay centered on house stroke bbox (Media geometry).
   Honors prefers-reduced-motion. */

.logo-lockup {
  position: relative;
  display: inline-block;
  line-height: 0;
  vertical-align: top;
}

.logo-lockup > img {
  display: block;
  position: relative;
  z-index: 0;
}

/* Amber door-dot overlay — % of lockup box (Media: cx 20.27% / cy 56.5% (doorway)) */
.logo-door-dot {
  position: absolute;
  left: 20.27%;
  top: 56.5%;
  z-index: 1;
  width: 4.375%;
  aspect-ratio: 1;
  height: auto;
  border-radius: 50%;
  background: #b45309;
  transform: translate(-50%, -50%) scale(1);
  transform-origin: center center;
  pointer-events: none;
  animation: tfh-door-breathe 2.4s ease-in-out infinite;
}

/* Soft amber glow (peaks with breathe) */
.logo-door-dot::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 280%;
  height: 280%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(180, 83, 9, 0.28) 0%,
    rgba(180, 83, 9, 0.10) 45%,
    rgba(180, 83, 9, 0) 70%
  );
  opacity: 0;
  pointer-events: none;
  animation: tfh-glow-breathe 2.4s ease-in-out infinite;
}

@keyframes tfh-door-breathe {
  0%,
  100% {
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.15);
  }
}

@keyframes tfh-glow-breathe {
  0%,
  100% {
    opacity: 0;
  }
  50% {
    opacity: 0.22;
  }
}

@media (prefers-reduced-motion: reduce) {
  .logo-door-dot,
  .logo-door-dot::after {
    animation: none;
  }

  .logo-door-dot {
    transform: translate(-50%, -50%) scale(1);
  }

  .logo-door-dot::after {
    opacity: 0;
  }
}
