/* Cyentrix site-wide motion layer — dependency-free, GPU-only (opacity+transform),
   reduced-motion aware. Elements are hidden ONLY when html.cx-anim is set (added in
   <head> before paint by the mu-plugin) and revealed on scroll by cx-motion.js.
   No-JS / reduced-motion / JS-failure → everything is visible (no CLS, no stuck content). */

html.cx-anim .cxr{opacity:0;transform:translateY(16px)}
html.cx-anim .cxr.is-in{
  opacity:1;transform:none;
  transition:opacity .55s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1);
}

/* Subtle, consistent hover lift on the design-system cards (respects reduced-motion). */
@media (prefers-reduced-motion:no-preference){
  .cxc-cell,.cmp-card,.cxc-card,.conv a{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
}

@media (prefers-reduced-motion:reduce){
  html.cx-anim .cxr{opacity:1!important;transform:none!important;transition:none!important}
}

/* Heading refinement — stop medium headlines wrapping to two lines on desktop.
   The cxc headings cap width in `ch` (18/24/20ch) which forces premature wraps;
   on desktop we let them use the full column and only wrap when truly too long
   (text-wrap:balance keeps any genuine wrap even). Mobile keeps its natural wrap. */
@media (min-width:981px){
  main.cxc h1, main.cxc h2,
  body.home main h1, body.home main h2, body.home .sec-head h1, body.home .sec-head h2,
  .cxc-hero2 h1, .cxc-ch .intro h2, .cxc-cards .head h2, .cxc-pr .head h2, .cxc-fin h2,
  .sec-head h1, .sec-head h2{
    max-width:none !important;   /* beats template inline .sec-head h2{max-width:24ch} that loads later */
    text-wrap:balance;
  }
  /* Targeted single-line fixes for the remaining constrained homepage headings. */
  .cxc-hero h1{font-size:clamp(27px,2.6vw,32px)!important;max-width:none!important;text-wrap:balance}   /* 65-char hero → one line (was 60px/2 lines); 32px leaves margin in the 1072px column */
  .cxc-arch h2{font-size:clamp(24px,2.4vw,30px)!important;text-wrap:balance}                            /* half-width column → two balanced lines (was ragged 3) */
  .cxc-ch h3{max-width:none!important;text-wrap:balance}                                                /* four-step titles use their real column → one line */
}
