/* ============================================================
   BBE Kinetic Motion - line-reveal + underline-draw
   New module (2026-06-04, [media]). Loaded only on pages that use
   [data-split]. Animates transform/opacity only; honors reduced-motion.
   Pairs with assets/bbe-kinetic.js (the tag-preserving splitter).
   ============================================================ */

/* Headings stay fully visible if the JS never runs (progressive enhancement). */
[data-split]{opacity:1}

/* Each measured line gets a clipping mask; its inner rises from below. */
.kline{display:block;overflow:hidden;padding-bottom:0.14em;margin-bottom:-0.14em}
.kline__i{display:block;transform:translateY(110%);transition:transform 1.1s cubic-bezier(0.33,1,0.68,1)}
.split-in .kline__i{transform:none}

/* Link underline-draw utility (opt-in via class="ul-draw"). */
.ul-draw{
  background-image:linear-gradient(currentColor,currentColor);
  background-size:0% 1.5px;
  background-position:0 100%;
  background-repeat:no-repeat;
  transition:background-size 0.4s cubic-bezier(0.16,1,0.3,1);
  padding-bottom:2px;
}
.ul-draw:hover,.ul-draw:focus-visible{background-size:100% 1.5px}

@media (prefers-reduced-motion: reduce){
  .kline__i{transform:none !important;transition:none !important}
  .ul-draw{transition:none}
}

/* ============================================================
   Nav + footer link underline-draw (hover-capable pointers only).
   ============================================================ */
@media (hover:hover) and (pointer:fine){
  .nav-links a:not(.nav-cta),.footer-links a{
    background-image:linear-gradient(currentColor,currentColor);
    background-size:0% 1.5px;background-position:0 100%;background-repeat:no-repeat;
    transition:background-size 0.45s cubic-bezier(0.16,1,0.3,1),color 0.2s;
    padding-bottom:2px;
  }
  .nav-links a:not(.nav-cta):hover,.footer-links a:hover{background-size:100% 1.5px}
}
@media (prefers-reduced-motion: reduce){
  .nav-links a:not(.nav-cta),.footer-links a{transition:color 0.2s}
}
