  /* ─── LOADER ─── */
  #loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: var(--bg);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
  }
  #loader.exit {
    animation: loaderFadeOut 0.6s cubic-bezier(0.4, 0, 1, 1) forwards;
  }
  @keyframes loaderFadeOut {
    0%   { opacity: 1; transform: translateY(0); }
    100% { opacity: 0; transform: translateY(-24px); }
  }
  .loader-wordmark {
    font-family: 'Syne', sans-serif !important;
    font-size: clamp(2rem, 8vw, 4.5rem);
    font-weight: 800;
    color: var(--text);
    letter-spacing: -0.01em;
    opacity: 0;
    animation: loaderWordIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards;
  }
  @keyframes loaderWordIn {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .loader-wordmark .loader-diamond { color: var(--accent); }
  .loader-wordmark .loader-text {
    font-family: 'Syne', sans-serif !important;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--text);
  }
  .loader-progress-wrap {
    width: clamp(120px, 20vw, 200px);
    height: 2px;
    background: var(--border);
    overflow: hidden;
    opacity: 0;
    animation: loaderWordIn 0.5s ease 0.5s forwards;
  }
  .loader-progress-bar {
    height: 100%;
    background: var(--accent);
    width: 0%;
    animation: loaderProgress 1.4s cubic-bezier(0.4, 0, 0.2, 1) 0.3s forwards;
  }
  @keyframes loaderProgress {
    0%   { width: 0%; }
    60%  { width: 75%; }
    100% { width: 100%; }
  }
