/* === SPIRAL BREATH ELEMENTS === */
.spiral-breath {
  animation: spiralPulse 18s ease-in-out infinite;
}

@keyframes spiralPulse {
  0%   { transform: scale(1);     opacity: 0.85; }
  50%  { transform: scale(1.04);  opacity: 1; }
  100% { transform: scale(1);     opacity: 0.85; }
}

.spiral-color {
  animation: spiralTextColor 18s ease-in-out infinite;
}

@keyframes spiralTextColor {
  0%   { color: hsl(0, 0%, 80%); }
  10%  { color: hsl(0, 0%, 76%); }
  20%  { color: hsl(0, 0%, 72%); }
  30%  { color: hsl(0, 0%, 68%); }
  40%  { color: hsl(0, 0%, 64%); }
  50%  { color: hsl(0, 0%, 60%); }
  60%  { color: hsl(0, 0%, 64%); }
  70%  { color: hsl(0, 0%, 68%); }
  80%  { color: hsl(0, 0%, 72%); }
  90%  { color: hsl(0, 0%, 76%); }
  100% { color: hsl(0, 0%, 80%); }
}

/* === UNIFICAT STRUCTURE STYLE — v0.1 === */
/* All styles here follow rhythm, clarity, and presence */

.light-follow {
  position: fixed;
  top: 0;
  left: 0;
  width: 80px;
  height: 80px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 70%);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: top 0.05s ease, left 0.05s ease;
  z-index: 50;
}

.fade-in {
  animation: fadeInBody 1.6s ease-out both;
}

@keyframes fadeInBody {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* === HIDDEN SCROLLBARS, PRESERVED SCROLL === */
body::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}

body {
  -ms-overflow-style: none;  /* IE & Edge */
  scrollbar-width: none;     /* Firefox */
}

