/* ============ PRELOADER.CSS — minimalist ============ */

.preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: var(--brand-bg);
  transition: opacity 600ms var(--ease-smooth), transform 600ms var(--ease-smooth);
}

.preloader__shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
}

.preloader__mark {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: clamp(72px, 10vw, 128px);
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--brand-text);
}

.preloader__line {
  position: relative;
  width: clamp(80px, 10vw, 140px);
  height: 1px;
  background: rgba(255,255,255,0.12);
  overflow: hidden;
}
body.theme-group .preloader__line { background: rgba(10,10,10,0.12); }

.preloader__bar {
  display: block;
  height: 100%;
  width: 0%;
  background: var(--brand-accent);
  transition: width 400ms var(--ease-smooth);
}

.preloader--exit {
  opacity: 0;
  transform: translateY(-16px);
  pointer-events: none;
}

.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
