/* ── Global text selection: paper bg, ink text ── */
::selection { background: #F5EFE6; color: #0B0906; text-shadow: none; }
::-moz-selection { background: #F5EFE6; color: #0B0906; text-shadow: none; }

/* ── Image protection: no drag, no select, no callout ── */
img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: auto;
}

/* ── Link hover reveal: text slides up, duplicate enters from below ── */
.link__mask {
  display: inline-block;
  overflow: hidden;
  position: relative;
  height: 1em;
  line-height: 1;
  vertical-align: bottom;
}
.link__mask .buttonText {
  display: block;
  height: 1em;
  line-height: 1;
  transition: transform .4s cubic-bezier(.23, 1, .32, 1);
  will-change: transform;
}
.link__mask:hover .buttonText,
a:hover .link__mask .buttonText { transform: translateY(-100%); }

/* ── Navbar auto-hide on scroll down (target: header nav element) ── */
header nav {
  transition: opacity .35s ease, transform .35s ease;
}
header nav.is-hidden {
  opacity: 0;
  transform: translateX(-50%) translateY(-14px);
  pointer-events: none;
}
