/* d-motion.css: the one reveal grammar for every Direction D page (Oct 13 2026, Kyle's notes:
   "way more subtle animation on each section for headings as they come in", and nothing may wait on a timer).
   Pair with /js/d-motion.js, loaded in <head>. Mark an element with data-dm="h" (a section heading),
   data-dm="lead" (the paragraph that follows a heading, lands 90ms later) or data-dm="up" (anything else).
   Optional --d on the element adds a stagger. Default state is VISIBLE: the hidden state exists only once
   the script has stamped html.js, so no JS, a crawler, or reduced motion all read the finished page. */
.js [data-dm]{transition-timing-function:cubic-bezier(.16,1,.3,1);transition-duration:.7s;transition-delay:var(--d,0ms)}
.js .dm-wait[data-dm]{opacity:0;transform:translateY(14px);transition-property:none}
.js .dm-wait[data-dm="h"]{filter:blur(6px)}
.js .dm-in[data-dm]{opacity:1;transform:none;filter:none;transition-property:opacity,transform,filter}
.js [data-dm="lead"]{transition-delay:calc(var(--d,0ms) + 90ms)}
.still [data-dm]{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;animation:none!important}
