/* ════════════════════════════════════════════════════
   PRELOADER — Cinematic brand reveal (award-level)
   ════════════════════════════════════════════════════ */

.preloader{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;
  background:var(--black);
}

.preloader-inner{
  position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:1.5rem;
}

/* Horizontal accent line */
.preloader-line{
  width:0;height:1px;
  background:var(--gold);
}

/* Brand text */
.preloader-brand{
  text-align:center;
  opacity:0;
  transform:translateY(20px);
}

.preloader-name{
  display:block;
  font-family:var(--serif);
  font-size:clamp(1.4rem, 3vw, 2.2rem);
  letter-spacing:.35em;
  color:var(--white);
}
.preloader-sub{
  display:block;
  font-size:.65rem;
  letter-spacing:.55em;
  color:var(--gold);
  margin-top:.35rem;
}

/* Counter — big background number */
.preloader-counter{
  font-family:var(--serif);
  font-size:clamp(4rem, 10vw, 8rem);
  color:var(--gold);
  opacity:0;
  margin-top:1rem;
  font-variant-numeric:tabular-nums;
  pointer-events:none;
}

/* Column reveal overlay — 5 vertical strips that slide up */
.preloader-cols{
  position:absolute;inset:0;z-index:1;
  display:flex;
  pointer-events:none;
}
.preloader-col{
  flex:1;
  background:var(--black);
  transform-origin:top;
}

/* Lock scroll while preloader is active */
body.is-loading{
  overflow:hidden;
  height:100vh;
}
