/* Artwork and amber paths follow scroll; all reading text stays in place. */
.motion-line { display: block; }
.story-copy h3 .motion-line em { display: inline-block; }
.story-beat { isolation: isolate; }
.story-beat figure { position: relative; }
.story-copy { position: relative; }
.story-trace { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.trace-track { stroke: #edb14e26; stroke-width: 1.4; }
.trace-progress { stroke: #edb14e; stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.trace-tip { fill: #edb14e; stroke: #0c0d0f; stroke-width: 3; opacity: 0; }
.scroll-motion-enabled .trace-tip { opacity: 1; }
.trace-start { fill: #edb14e; }
.trace-end { fill: #edb14e; opacity: .8; }
.story-capture .story-trace { transform: scaleX(-1); }
.story-beat::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  left: 4%; right: 2%; top: 10%; bottom: 4%;
  border: 1px solid #a6b38c0c; border-radius: 50%;
  background: linear-gradient(145deg, #a6b38c00 25%, #a6b38c07 75%, #a6b38c00);
  transform: rotate(-14deg);
}
.story-capture::before { left: 0; right: 5%; transform: rotate(14deg); }
.story-copy > .eyebrow::after { width: 84px; opacity: .72; }
.scroll-motion-enabled .story-beat figure { transform: translate3d(0, var(--art-y, 0px), 0); }
.scroll-motion-enabled .story-beat::before { translate: 0 var(--plane-y, 0px); }
.scroll-motion-enabled .story-trace .trace-progress { stroke-dashoffset: calc(1 - var(--trace, 1)); }
.scroll-motion-enabled .story-trace .trace-end { opacity: calc(.2 + var(--trace, 1) * .8); }
.scroll-motion-enabled .story-copy > .eyebrow::after { transform: scaleX(var(--rule, 1)); }
.scroll-motion-enabled :is(.method-grid, .privacy-grid) article::before { width: 100%; transform: scaleX(var(--rule, 1)); }
/* No opacity gates, clipping masks or artificial sticky/pinned scroll lengths. */
.scroll-motion-enabled .story-beat figure { transition: transform 110ms linear; }
.scroll-motion-enabled .trace-progress { transition: stroke-dashoffset 110ms linear; }
.scroll-motion-enabled .story-copy > .eyebrow::after,
.scroll-motion-enabled :is(.method-grid, .privacy-grid) article::before { transition: transform 110ms linear; }
@media (max-width: 760px) {
  .story-copy > .eyebrow::after { width: 80px; }
  .trace-progress { stroke-width: 3; }
  .trace-start, .trace-end { r: 6; }
  .trace-tip { r: 9; }
  .story-beat::before { left: -2%; right: -2%; top: 5%; bottom: 46%; }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-motion-enabled .story-beat figure { transform: none; }
  .scroll-motion-enabled .story-beat::before { translate: none; }
  .scroll-motion-enabled .trace-progress { stroke-dashoffset: 0; }
}
/* Decorative translations never widen the page, including at 320px and zoom. */
.movement-story { overflow-x: clip; }
.story-copy .motion-line { width: fit-content; max-width: 100%; }
