/* LAVAN Engineering motion (B, user choice 2026-10-16). Static layout stays in index.html. */

/* Until fonts are ready (same window as the hero's wait) the text is not shown in its final state. */
html.hero-pending .engineering .engineering-head,
html.hero-pending .engineering .engineering-reading { visibility: hidden; }

/* The image settles inside its sticky frame while the reading column passes; the frame never moves. */
.engineering-image { overflow: hidden; }

/* Difference rules: drawn by spans over the transparent borders while animating. */
.engineering-difference.er-run { position: relative; border-top-color: transparent; }
.engineering-difference.er-run.is-last { border-bottom-color: transparent; }
.er-rule {
  position: absolute; left: 0; right: 0; height: 1px; pointer-events: none;
  background: var(--engineering-rule);
  clip-path: inset(0 calc((100% + 1px) * (1 - var(--er-p, 1))) 0 0);
}
.er-rule.is-top { top: -1px; }
.er-rule.is-bottom { bottom: -1px; }
