/* ─── Preloader ─── */
#preloader {
  position: fixed;
  inset: 0;
  background: var(--color-off-black);
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 1s ease, visibility 1s ease;
}

#preloader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.preloader__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  animation: preloader-rise 0.5s var(--ease-out) forwards;
}

.preloader__logo {
  width: 180px;
  height: auto;
  filter: brightness(0) invert(1);
  opacity: 0.95;
}

.preloader__bar {
  width: 48px;
  height: 1px;
  background: var(--color-sand);
  position: relative;
  overflow: hidden;
}

.preloader__bar::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--color-bone);
  transform: translateX(-100%);
  animation: preloader-sweep 1.1s ease-in-out infinite;
}

@keyframes preloader-rise {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes preloader-sweep {
  0%   { transform: translateX(-100%); }
  50%  { transform: translateX(0%); }
  100% { transform: translateX(100%); }
}
