.hero-noise {
  background-image: url("../images/hero-noise.png?v=3");
  background-repeat: repeat;
  background-size: 180px 180px;
  opacity: 0.72;
  mix-blend-mode: soft-light;
  -webkit-mask-image: radial-gradient(110% 95% at 50% 15%, #000 32%, transparent 100%);
  mask-image: radial-gradient(110% 95% at 50% 15%, #000 32%, transparent 100%);
}
body.admin-bar #siteHeader { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar #siteHeader { top: 46px; }
}
.entry-content a { color: #8ec9ff; }
.entry-content p { margin: 0 0 1rem; }
.entry-content h2 { font-size: 1.5rem; font-weight: 600; margin: 1.5rem 0 0.5rem; }
.entry-content ul { margin: 0 0 1rem 1.25rem; list-style: disc; }

/* Scroll reveal disabled — sections render immediately instead of fading in.
   The .reveal class stays in the markup (it mirrors the reference design and
   the IntersectionObserver in app.js still adds .in harmlessly), so the effect
   can be restored by deleting this block. Neutralising it here also removes a
   fragility: .reveal starts at opacity 0, so any JS failure hid the content. */
.reveal,
.reveal.in {
  opacity: 1;
  transform: none;
  transition: none;
}
