/* Rikhta — site styles
   Load after the Tailwind CDN script and tailwind.config block. */

.dotgrid{
  background-image: radial-gradient(#EEEEEE 1px, transparent 1px);
  background-size: 24px 24px;
}

html{
  scroll-padding-top: 88px; /* keeps section headings clear of the sticky nav on anchor jumps */
}

/* Scroll progress bar (fills left-to-right as the page scrolls) */
#scroll-progress{
  transform-origin: left;
  transform: scaleX(0);
  transition: transform 0.1s ease-out;
}

/* Active nav link (set by script.js via IntersectionObserver) */
nav a.nav-active{
  color: #0A0A0A;
  font-weight: 600;
}
nav a.nav-active::after{
  content:'';
  display:block;
  height:2px;
  margin-top:4px;
  background:#0066FF;
  border-radius:2px;
}

/* Hero cursor-reactive glow (position set by script.js via --mx/--my) */
#top{ position: relative; }
#top::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background: radial-gradient(420px circle at var(--mx,50%) var(--my,15%), rgba(0,102,255,0.07), transparent 65%);
  transition: background 0.25s ease-out;
  pointer-events:none;
}
#top > *{ position: relative; z-index: 1; }

@media (prefers-reduced-motion: reduce){
  #top::before{ display:none; }

  *, *::before, *::after{
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  html{ scroll-behavior: auto; }
  [data-rv]{ opacity: 1 !important; transform: none !important; }
}
