/* Scroll polish: no layout shifts, permanent hidden content or forced page snapping. */
.site-header {
  transition: background-color 320ms ease, box-shadow 320ms ease;
}
.site-header.has-scrolled {
  background-color: #fffdf8;
  box-shadow: 0 8px 26px rgba(18, 55, 44, 0.07);
}
.reading-progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg, #81602d, #d4ba83);
  transform: scaleX(0);
  transform-origin: left center;
  pointer-events: none;
}
/* Contents remain fully readable at every state when the animation API is missing. */
@media (prefers-reduced-motion: reduce) {
  .site-header { transition: none; }
  .reading-progress { display: none; }
}
@media print {
  .reading-progress { display: none; }
  [data-scroll-reveal] { opacity: 1 !important; transform: none !important; }
}
