/* A little Halloween magic, layered over the original stardust aesthetic. */
#bg-wallpaper::after {
  background: linear-gradient(135deg, rgba(31, 12, 38, .68), rgba(40, 16, 30, .45) 50%, rgba(21, 10, 34, .7));
}
.halloween-decor { position: fixed; inset: 0; z-index: 3; pointer-events: none; overflow: hidden; }
.halloween-web { position: absolute; top: 0; width: clamp(95px, 16vw, 200px); stroke: #f9ddca; stroke-width: 1; opacity: .52; }
.web-left { left: 0; }
.web-right { right: 0; transform: scaleX(-1); }
.bat { position: absolute; fill: #211328; filter: drop-shadow(0 0 5px rgba(255, 189, 127, .4)); animation: bat-float 5s ease-in-out infinite; }
.bat-one { width: 66px; top: 19%; left: 17%; transform: rotate(-15deg); }
.bat-two { width: 43px; top: 28%; right: 17%; animation-delay: -2s; }
.season-greeting { color: #ffe0b5; font-size: .7rem; letter-spacing: .28em; text-transform: uppercase; margin-bottom: 1.1rem; text-shadow: 0 0 14px #e8885d; }
#header .icon { border-color: rgba(255, 199, 150, .8); box-shadow: 0 0 25px rgba(255, 151, 94, .35); }
.hfsticky { background-image: linear-gradient(90deg, #ffc08a, #ffdbe2); }
#header nav ul.link-grid { border-color: rgba(255, 200, 163, .55); background: rgba(60, 28, 46, .4); }
.glow-grid li a::before { background: rgba(255, 161, 112, .4); }
.pumpkin { color: #ffce9b; margin-bottom: .65rem; font-size: 1.1rem; }
.pumpkin span { font-size: .65rem; letter-spacing: .18em; text-transform: uppercase; vertical-align: middle; margin: 0 .45rem; }
@keyframes bat-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@media screen and (max-width: 736px) {
  .bat-one { left: 6%; top: 26%; width: 38px; }
  .bat-two { right: 6%; top: 19%; width: 32px; }
  .season-greeting { margin-bottom: .8rem; }
}
@media (prefers-reduced-motion: reduce) { .bat { animation: none; } }
