/* КОНТАНТА — персональный экран загрузки публичной части сайта.
   Выполнен в визуальной системе самого сайта: тёмно-синий фон, золотые
   акценты, засечная антиква. Базовая вёрстка страниц не затрагивается. */
.boot-screen {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 42%, rgba(211, 177, 108, 0.12), transparent 58%),
    #0b1220;
  color: var(--text, #f4f5f7);
  font-family: "Liberation Serif", "Nimbus Roman No9 L", serif;
  text-align: center;
  opacity: 1;
  transition: opacity 0.55s ease, visibility 0.55s ease;
  /* Страховка: даже если скрипт не выполнится, экран уйдёт сам. */
  animation: bootScreenFallback 0.6s ease 5s forwards;
}
.boot-screen.is-done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  animation: none;
}
@keyframes bootScreenFallback {
  to { opacity: 0; visibility: hidden; }
}

.boot-screen__inner { width: min(520px, 100%); }

.boot-screen__eyebrow {
  margin: 0 0 26px;
  color: var(--gold, #d3b16c);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.boot-screen__rule {
  max-width: 320px;
  height: 1px;
  margin: 0 auto 30px;
  background: linear-gradient(90deg, transparent, var(--line, #2a3854) 22%, var(--line, #2a3854) 78%, transparent);
}

.boot-screen__brand {
  margin: 0 0 10px;
  padding-left: 0.26em;
  font-size: clamp(30px, 7vw, 54px);
  font-weight: 400;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

.boot-screen__caption {
  margin: 0 0 34px;
  color: var(--muted, #b5bdcb);
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.boot-screen__track {
  position: relative;
  max-width: 360px;
  height: 1px;
  margin: 0 auto 18px;
  background: var(--line, #2a3854);
  overflow: hidden;
}
.boot-screen__fill {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0;
  background: linear-gradient(90deg, #8a6f3d, var(--gold, #d3b16c));
  animation: bootScreenFill 1.7s cubic-bezier(0.35, 0, 0.15, 1) forwards;
}
@keyframes bootScreenFill {
  to { width: 100%; }
}

.boot-screen__status {
  margin: 0;
  color: #8b96a8;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

@media (max-width: 600px) {
  .boot-screen__eyebrow { margin-bottom: 20px; font-size: 10px; letter-spacing: 0.14em; }
  .boot-screen__caption { margin-bottom: 26px; font-size: 12px; }
  .boot-screen__rule { margin-bottom: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .boot-screen {
    transition: none;
    animation-duration: 0.01s;
    animation-delay: 0s;
  }
  .boot-screen__fill { animation-duration: 0.01s; }
}
