html {
  scroll-behavior: smooth;
}

body {
  font-feature-settings: "liga" 1;
}

.text-balance {
  text-wrap: balance;
}

/* Header states */
#site-header {
  color: #FBF7F0;
}
#site-header.is-scrolled {
  background: #FBF7F0;
  color: #2B211B;
  box-shadow: 0 1px 0 #E4D5C0;
}
#site-header.is-scrolled .nav-link {
  color: #2B211B;
}
#site-header .nav-link {
  color: inherit;
  opacity: 0.85;
  transition: opacity 200ms ease;
}
#site-header .nav-link:hover {
  opacity: 1;
}
#site-header #lang-toggle {
  color: inherit;
}

/* Hero scroll indicator */
.scroll-line {
  position: relative;
  overflow: hidden;
}
.scroll-line::after {
  content: "";
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FBF7F0;
  animation: scrollLine 2.2s ease-in-out infinite;
}
@keyframes scrollLine {
  0% { top: -100%; }
  50% { top: 0%; }
  100% { top: 100%; }
}

.icon-mark {
  color: #BD5B2C;
}

/* Reveal animation initial state (JS/GSAP controls the animation itself;
   this is only a no-JS / pre-hydration fallback so content is not invisible) */
.reveal {
  opacity: 1;
}
.js-ready .reveal {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .scroll-line::after {
    animation: none;
  }
}
