/* Homepage only. 45% × 70% = 31.5% of the former header-to-logo gap.
   Retain the existing navigation/notice offsets and all type/width rules.
   Former gap: section top padding + content top padding - navigation height.
   Notice height is already reserved by the existing announcement component. */
body.home .bg-home-logo-hero {
  --bg-logo-css-ready: 1;
  --bg-logo-nav: 78px;
  --bg-logo-gap: clamp(25.2px, calc(3.15vw + 2.52px), 41.58px);
  padding-top: calc(var(--bg-logo-nav) + var(--bg-logo-gap));
  align-items: start;
}
body.home .bg-home-logo-hero > .hero-content { padding-top: 0; }

@media (max-width: 760px) {
  body.home .bg-home-logo-hero {
    --bg-logo-nav: 72px;
    --bg-logo-gap: clamp(27.09px, calc(3.15vw + 4.41px), 43.47px);
  }
}
@media (max-width: 560px) {
  body.home .bg-home-logo-hero { --bg-logo-gap: 20.16px; }
}

.bg-home-logo-hero [data-bg-logo-assembly] {
  position: relative;
  perspective: 1000px;
  /* This logo has its own entrance; preserve the entrance of all other content. */
  animation: none;
}
.bg-home-logo-hero .bg-logo-fragments {
  position: absolute;
  inset: 0;
  pointer-events: none;
  perspective: 1000px;
}
.bg-home-logo-hero .bg-logo-fragments > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  filter: none;
  pointer-events: none;
}
.bg-home-logo-hero [data-bg-logo-assembly].is-assembling > img { opacity: 0; }
.bg-home-logo-hero [data-bg-logo-assembly]::after {
  content: '';
  position: absolute;
  bottom: -9px;
  left: 5%;
  width: 90%;
  height: 12px;
  border-radius: 50%;
  background: rgba(0, 0, 0, .28);
  filter: blur(6px);
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce), print {
  .bg-home-logo-hero .bg-logo-fragments { display: none; }
  .bg-home-logo-hero [data-bg-logo-assembly].is-assembling > img { opacity: 1; }
}
