html { scroll-behavior: smooth; }

/* ---------- Fade-in on scroll ---------- */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.75s cubic-bezier(.4,0,.2,1),
              transform 0.75s cubic-bezier(.4,0,.2,1);
}
.reveal.in-view { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 0.12s; }
.reveal-delay-2 { transition-delay: 0.24s; }
.reveal-delay-3 { transition-delay: 0.36s; }
.reveal-delay-4 { transition-delay: 0.48s; }

/* ---------- Underline link hover ---------- */
.link-line { position: relative; }
.link-line::after {
  content: '';
  position: absolute;
  left: 0; bottom: -2px;
  width: 0; height: 1px;
  background: currentColor;
  transition: width .3s ease;
}
.link-line:hover::after { width: 100%; }

/* ---------- Custom scrollbar ---------- */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: #fafaf9; }
::-webkit-scrollbar-thumb { background: #c0bdb8; border-radius: 4px; }

/* ---------- Hero background radial glow ---------- */
.hero-bg {
  background: #fafaf9;
  background-image:
    radial-gradient(ellipse 60% 50% at 70% 40%, rgba(41,157,72,.07) 0%, transparent 70%),
    radial-gradient(ellipse 40% 40% at 15% 70%, rgba(31,87,99,.05) 0%, transparent 60%);
}

.nav-logo {
  width: 140px;
}
