/* Movement follows the existing editorial identity and the visitor's motion preference. */
.concept.a.final{--editorial-ease:cubic-bezier(.16,1,.3,1)}
.concept.a.final .title-word{display:inline-block;vertical-align:top;overflow:clip;max-width:100%;padding-bottom:.12em;margin-bottom:-.12em}
.concept.a.final .title-word>span{display:block}
.concept.a.final .is-revealed{animation:none}
@media(prefers-reduced-motion:no-preference){
  html:has(body[data-motion="full"]){scroll-behavior:smooth;scroll-padding-top:105px}
  body[data-motion="full"] .title-word>span{animation:title-unfold .95s var(--editorial-ease) both;animation-delay:var(--word-delay,0ms)}
  body[data-motion="full"] .editorial-arrived{animation:editorial-arrival .8s var(--editorial-ease) both;animation-delay:var(--arrival-delay,0ms)}
  body[data-motion="full"] .public-header::after{content:"";display:block!important;position:absolute;left:0;right:0;bottom:0;top:auto;width:auto;height:2px;background:var(--accent);transform:scaleX(var(--read-progress,0));transform-origin:left;pointer-events:none}
  body[data-motion="full"] .concept.a.final :is(.outline,.header-chart-cta,.slider-controls button){transition:transform .35s var(--editorial-ease),background .25s ease,color .25s ease}
  body[data-motion="full"] .concept.a.final .read{transition:letter-spacing .35s var(--editorial-ease)}
  @keyframes title-unfold{from{transform:translateY(105%);opacity:.15}to{transform:translateY(0);opacity:1}}
  @keyframes editorial-arrival{from{transform:translateY(22px);opacity:.25}to{transform:translateY(0);opacity:1}}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  body[data-motion="full"] .concept.a.final :is(.outline,.header-chart-cta):hover{transform:translateY(-3px)}
  body[data-motion="full"] .concept.a.final .read:hover{letter-spacing:.035em}
  body[data-motion="full"] .concept.a.final .articles img{transition:filter .6s var(--editorial-ease),border-radius .6s var(--editorial-ease)}
  body[data-motion="full"] .concept.a.final .articles article:hover img{filter:saturate(1);border-radius:50% 50% 2px 2px / 12% 12% 2px 2px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.title-word>span,.editorial-arrived{animation:none!important;transform:none!important;opacity:1!important}}
