:is(.bride-planner-wedding-page, .honor-planner-page, .w-njobcrew-page) .planner-wedding-header {
  position: fixed;
  z-index: 200;
  top: 0;
  right: 0;
  left: 0;
  transform: translateY(-100%);
  visibility: hidden;
  pointer-events: none;
  transition:
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 420ms;
  will-change: transform;
}

:is(.bride-planner-wedding-page, .honor-planner-page, .w-njobcrew-page) .planner-wedding-header.is-visible {
  transform: translateY(0);
  visibility: visible;
  pointer-events: auto;
  transition:
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s;
}

.bride-planner-wedding-page .planner-wedding-hero,
.honor-planner-page .planner-wedding-hero,
.w-njobcrew-page .wn-hero {
  height: 100vh;
  /* 2026-11-03 — dvh → svh: 아이폰 사파리에서 스크롤하면 주소창이 줄어 dvh 가 커지고, 꽉 채운 그림이 «확대» 돼 보였다.
     svh(주소창이 펼쳐진 «작은» 화면 높이)는 스크롤해도 변하지 않는다. */
  height: 100svh;
  min-height: 100vh;
  min-height: 100svh;
}

@media (prefers-reduced-motion: reduce) {
  :is(.bride-planner-wedding-page, .honor-planner-page, .w-njobcrew-page) .planner-wedding-header,
  :is(.bride-planner-wedding-page, .honor-planner-page, .w-njobcrew-page) .planner-wedding-header.is-visible {
    transition-duration: 0.01ms;
  }
}
