/* мерцающие звёзды + всё остальное */
:root{--blue:#B5D1EC;--gray:#C4C4C4;--peach:#F5B4A9;--dark:#2A235C;--bg:#F8FAFC}
/* ... остальной код ... */
@keyframes twinkle{0%{opacity:0;}50%{opacity:1;}100%{opacity:0;}}
.star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;animation:twinkle 4s infinite;}
.header-menu {
  position: relative;
  display: inline-block;
}

.menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 40px;
  z-index: 2;
  position: relative;
}

.menu li a {
  color: #fff;        /* изначально белый текст */
  text-decoration: none;
  padding: 10px 15px;
  font-size: 24px;
  transition: color 0.2s;
  position: relative;
}

.dropdown-curtain {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 0;
  background: #fff;
  z-index: 1;
  transition: height 0.4s cubic-bezier(.4,2,.6,1);
  pointer-events: none;
}

/* Когда курсор на меню или на одном из его пунктов */
.header-menu:hover .dropdown-curtain,
.header-menu:focus-within .dropdown-curtain {
  height: 60px; /* высота вашей шторки */
}

.header-menu:hover .menu li a,
.header-menu:focus-within .menu li a {
  color: #111;  /* текст становится черным при наведении */
}