/* ============ SOLAR SWEEP — page enter/exit overlay ============ */
:root {
  --sweep-angle: -12deg;
  --sweep-duration: 950ms;
  --sweep-ease: cubic-bezier(0.65, 0, 0.15, 1);
}

#sweep {
  position: fixed;
  inset: 0;
  overflow: hidden; /* добавить */
  z-index: 9999;
  pointer-events: none;
}

.sweep-panel {
  position: absolute;
  top: -40%;
  left: -40%;
  width: 220%;
  height: 220%;
  background: var(--color-bg-primary, #07131F);
  transform: rotate(var(--sweep-angle)) translateX(0%);
}

.sweep-panel::after {
  content: '';
  position: absolute;
  top: 0;
  right: -6px;
  width: 6px;
  height: 100%;
  background: linear-gradient(180deg, var(--color-accent-blue, #42D9E8), var(--color-accent-red, #DA1A25));
  box-shadow: 0 0 40px 6px rgba(66, 217, 232, 0.55), 0 0 80px 20px rgba(218, 26, 37, 0.25);
}

/* ENTER: panel starts covering the screen, slides off to the right */
.sweep-enter .sweep-panel {
  animation: sweepOut var(--sweep-duration) var(--sweep-ease) forwards;
}
@keyframes sweepOut {
  from { transform: rotate(var(--sweep-angle)) translateX(0%); }
  to   { transform: rotate(var(--sweep-angle)) translateX(120%); }
}

/* EXIT: panel slides back in from the left, covering the screen */
.sweep-exit .sweep-panel {
  transform: rotate(var(--sweep-angle)) translateX(-120%);
  animation: sweepIn var(--sweep-duration) var(--sweep-ease) forwards;
}
@keyframes sweepIn {
  from { transform: rotate(var(--sweep-angle)) translateX(-120%); }
  to   { transform: rotate(var(--sweep-angle)) translateX(0%); }
}

#sweep.done { display: none; }

/* optional: content elements can fade/rise in right after the sweep passes.
   Add class="reveal-child d1/d2/d3" to hero elements if you want this. */
.reveal-child {
  opacity: 0;
  transform: translateY(14px);
  animation: sweepChildIn 0.6s var(--sweep-ease) forwards;
}
.reveal-child.d1 { animation-delay: calc(var(--sweep-duration) * 0.55); }
.reveal-child.d2 { animation-delay: calc(var(--sweep-duration) * 0.65); }
.reveal-child.d3 { animation-delay: calc(var(--sweep-duration) * 0.75); }
@keyframes sweepChildIn {
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .sweep-panel { animation: none !important; transition: opacity 0.4s ease !important; }
  .sweep-enter .sweep-panel { opacity: 0; }
  .sweep-exit .sweep-panel { opacity: 1; transform: rotate(0) translate(0); }
  .reveal-child { animation: none; opacity: 1; transform: none; }
}