/* Homepage only. Content remains visible if JavaScript or motion is unavailable. */
.circle-divider .circle-join {
  min-width: 140px;
  min-height: 54px;
  padding: 13px 22px;
  font-size: 15px;
}

/* Restore the homepage's existing responsive layout beneath the desktop review lock. */
@media (max-width: 999px) {
  body.homepage-motion { min-width: 0; }
  .homepage-motion .section-wrap,
  .homepage-motion .header-inner { width: calc(100% - 48px); }
  .homepage-motion .preview-desktop-hint { display: none; }
}
@media (max-width: 820px) {
  .homepage-motion .review-bar .review-links { display: none; }
  .homepage-motion .header-inner { min-height: 79px; }
  .homepage-motion .menu-toggle { display: flex; }
  .homepage-motion #primary-nav {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    flex-direction: column;
    align-items: stretch;
    padding: 16px 24px 24px;
    background: var(--cream);
    border-bottom: var(--line);
    box-shadow: 0 6px 0 rgb(33 27 24 / .13);
    gap: 2px;
    max-height: calc(100dvh - 85px);
    overflow: auto;
  }
  .homepage-motion #primary-nav.is-open { display: flex; }
}
@media (max-width: 580px) {
  .homepage-motion .section-wrap,
  .homepage-motion .header-inner { width: calc(100% - 40px); }
  .homepage-motion .header-inner { min-height: 76px; }
}
@media (max-width: 350px) {
  .homepage-motion .section-wrap,
  .homepage-motion .header-inner { width: calc(100% - 32px); }
}

@media (prefers-reduced-motion: no-preference) {
  .home-motion-pending { opacity: 0; }
  .circle-divider .circle-join {
    animation: home-circle-breathe 6s cubic-bezier(.45, 0, .55, 1) 1s infinite;
    animation-play-state: paused;
    transform-origin: center;
  }
  .circle-divider.home-circle-in-view .circle-join { animation-play-state: running; }
  .circle-divider .circle-join:focus-visible,
  .circle-divider .circle-join:active { animation: none; }
  .circle-divider .circle-join:active { transform: scale(.97); }
  @media (hover: hover) and (pointer: fine) {
    .circle-divider .circle-join:hover { animation: none; }
    .connection-links a > span[aria-hidden],
    .blog-home-feature .button > span[aria-hidden] {
      transition: transform 180ms cubic-bezier(.23, 1, .32, 1);
    }
    .connection-links a:hover > span[aria-hidden],
    .blog-home-feature .button:hover > span[aria-hidden] {
      transform: translate(2px, -2px);
    }
  }
}

@keyframes home-circle-breathe {
  0%, 18%, 100% { transform: scale(1); }
  9% { transform: scale(1.045); }
}

@media (prefers-reduced-motion: reduce) {
  .home-motion-pending { opacity: 1; }
  .circle-divider .circle-join { animation: none; }
}
