/* Motion layer styling — hooks into the compiled .ka2* DOM without touching main.css. */

/* ---------- preloader ---------- */
#ka2-preloader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FBF7EF;
}
.ka2-preloader-mark {
  font-family: var(--ds-font-display);
  font-size: 11px;
  letter-spacing: 0.5em;
  text-indent: 0.5em;
  text-transform: uppercase;
  color: #1E2A4C;
}

/* ---------- hero title / copy split spans ---------- */
.ka2-motion-char {
  display: inline-block;
  will-change: transform, opacity;
}

/* ---------- vision text line reveal ---------- */
.ka2-motion-line {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
}
.ka2-motion-line-inner {
  display: inline-block;
  will-change: transform;
}

/* ---------- nav: underline draw + magnetic hover target ---------- */
.ka2-nav a {
  position: relative;
  display: inline-block;
  will-change: transform;
}
.ka2-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 1px;
  background: #A9853B;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.ka2-nav a:hover::after {
  transform: scaleX(1);
}

/* ---------- scroll progress line ---------- */
.ka2-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #A9853B;
  transform: scaleX(0);
  transform-origin: left center;
  z-index: 9999;
  pointer-events: none;
}

/* ---------- grain overlay ---------- */
.ka2-grain {
  position: fixed;
  inset: 0;
  z-index: 9998;
  opacity: 0.035;
  mix-blend-mode: multiply;
  pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size: 180px 180px;
}


/* ---------- reduced motion: no scroll-lock veil lingering ---------- */
@media (prefers-reduced-motion: reduce) {
  #ka2-preloader {
    transition: none;
  }
}
