@media (prefers-reduced-motion: no-preference) {
  html.js :is([data-reveal], [data-rise], [data-card], [data-r]) {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s ease, transform .7s cubic-bezier(.22, .61, .36, 1);
  }
  html.js :is([data-reveal], [data-rise], [data-card], [data-r]).in {
    opacity: 1;
    transform: none;
  }
  html.js [data-reveal="soft"] {
    transform: none;
    transition: opacity .7s ease;
  }
  html.js img {
    opacity: 0;
    transition: opacity .7s ease;
  }
  html.js img.in {
    opacity: 1;
  }
}

/* dc-import placeholders (header 72px, footer 520px) must not flash a darker bar while the sibling fetch is in flight */
.sc-placeholder { background: transparent !important; border: 0 !important; }

/* title lift + underline replay on home; CTA stays still */
[data-line] { animation: none !important; }

/* page heroes keep an em-cap on mobile; desktop shows the full line */
@media (min-width: 861px) {
  h1[data-reveal],
  p[data-reveal] { max-width: none !important; }
  /* 1180 columns share the header bar box; text gets the same side pad as the logo */
  section:has(> [style*="max-width: 1180px"]) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  [style*="max-width: 1180px"]:not([style*="padding:"]) {
    box-sizing: border-box;
    padding-left: clamp(20px, 4vw, 40px);
    padding-right: clamp(20px, 4vw, 40px);
  }
}
