/* Progressive enhancement: the unmodified page remains readable without JS. */
[data-motion="heading"] { max-width: 100%; }
.motion-line { display: block; overflow: clip; }
.motion-line-ink { display: block; }

@media (prefers-reduced-motion: no-preference) {
  .content-motion-ready [data-motion="heading"]:not(.motion-lines-ready) { visibility: hidden; }
  .content-motion-ready [data-motion="heading"] .motion-line-ink {
    opacity: 0;
    transform: translateY(110%) rotate(2deg);
    transform-origin: left bottom;
    transition: transform .95s var(--ease), opacity .6s var(--ease);
  }
  .content-motion-ready [data-motion="heading"].is-motion-visible .motion-line-ink { opacity: 1; transform: none; }
  .content-motion-ready [data-motion="label"],
  .content-motion-ready [data-motion="hero"] {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transition: clip-path .95s var(--ease), opacity .5s var(--ease);
  }
  .content-motion-ready :is([data-motion="label"], [data-motion="hero"]).is-motion-visible { opacity: 1; clip-path: inset(0); }
  .content-motion-ready :is([data-motion="copy"], [data-motion="row"], [data-motion="form"], [data-motion="card"]) {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .7s var(--ease), transform .85s var(--ease);
  }
  .content-motion-ready [data-motion="card"] { transform: translateY(36px); transition-duration: .85s, 1s; }
  .content-motion-ready [data-motion="row"] { transform: translateY(14px); }
  .content-motion-ready :is([data-motion="copy"], [data-motion="row"], [data-motion="form"], [data-motion="card"]).is-motion-visible { opacity: 1; transform: none; }
  /* The service card itself stays in place so the dot scene keeps its anchors. */
  .content-motion-ready [data-motion="panel"] { opacity: 0; transition: opacity .8s var(--ease); }
  .content-motion-ready [data-motion="panel"] > :is(.service-card-heading, .service-card-content) {
    transform: translateY(24px);
    transition: transform .95s var(--ease);
  }
  .content-motion-ready [data-motion="panel"] > .service-card-content { transition-delay: .1s; }
  .content-motion-ready [data-motion="panel"].is-motion-visible { opacity: 1; }
  .content-motion-ready [data-motion="panel"].is-motion-visible > :is(.service-card-heading, .service-card-content) { transform: none; }
  .content-motion-ready [data-motion="media"] { opacity: 0; clip-path: inset(12% 0 0); transition: opacity .8s var(--ease), clip-path 1.1s var(--ease); }
  .content-motion-ready [data-motion="media"] > img { transform: scale(1.06); transition: transform 1.2s var(--ease); }
  .content-motion-ready [data-motion="media"].is-motion-visible { opacity: 1; clip-path: inset(0); }
  .content-motion-ready [data-motion="media"].is-motion-visible > img { transform: none; }
  .content-motion-ready .motion-instant,
  .content-motion-ready .motion-instant :is(.motion-line-ink, .service-card-heading, .service-card-content) { transition: none !important; }
}
@media print {
  [data-motion] { opacity: 1 !important; transform: none !important; clip-path: none !important; visibility: visible !important; }
  .motion-line-ink { opacity: 1 !important; transform: none !important; }
}
