/* ---------- loader (only when the script runs) ---------- */
.loader{
  position:fixed; inset:0; z-index:100;
  display:none; flex-direction:column; align-items:center; justify-content:center; gap:18px;
  background:linear-gradient(135deg, var(--blue) 0%, var(--navy) 100%); color:#fff;
  transition:opacity .9s var(--ease-out), visibility 0s linear .9s;
}
.js .loader{ display:flex; }
.loader.done{ opacity:0; visibility:hidden; }
.loader[hidden]{ display:none; }
.loader__mark{ width:clamp(120px,14vw,180px); color:#fff; }
.loader__word{ font-family:var(--display); font-size:clamp(28px,4vw,48px); color:#fff; }
.loader__count{ font-size:12px; letter-spacing:.3em; color:var(--cop); direction:ltr; font-variant-numeric:tabular-nums; }
.loader__tag{ font-size:11px; letter-spacing:.2em; color:rgba(255,255,255,.6); }
.loader__line{ width:min(52vw,280px); height:2px; background:rgba(255,255,255,.14); position:relative; overflow:hidden; border-radius:2px; }
.loader__line i{ position:absolute; inset:0; transform-origin:left; transform:scaleX(0); background:linear-gradient(90deg,var(--cop),var(--lav)); }
[dir="rtl"] .loader__line i{ transform-origin:right; }
