.phrase-part { display: inline-block; max-width: 100%; vertical-align: baseline; }
.phrase-part--block { display: block; }
.services__title em.phrase-part { color: var(--color-accent); font-weight: 400; font-style: italic; }
.therapy-path__intro .phrase-part--block { line-height: 1.5; }
.why__closing-text .phrase-part--block + .phrase-part--block { margin-top: 4px; }
.why__closing-text .why__closing-last { margin-top: 6px; }
.why__closing-text .why__closing-last:nth-child(4) { margin-top: 22px; }
.why__closing-text .why__closing-last { color: var(--color-body); font: 400 clamp(14px,1.35vw,17px)/1.7 var(--font-body); }
.reviews__closing .phrase-part--block + .phrase-part--block { margin-top: 5px; }
@media (prefers-reduced-motion: no-preference) {
  html.editorial-motion .phrase-part { opacity: 0; transform: translate3d(0, 10px, 0); transition: opacity 1.02s cubic-bezier(.22,1,.36,1), transform 1.24s cubic-bezier(.22,1,.36,1); }
  html.editorial-motion .phrase-part--left { transform: translate3d(-24px, 4px, 0); }
  html.editorial-motion .phrase-part--right { transform: translate3d(24px, 4px, 0); }
  html.editorial-motion .phrase-part--rise { transform: translate3d(0, 19px, 0); }
  html.editorial-motion .is-unfolded .phrase-part { opacity: 1; transform: translate3d(0,0,0); }
  html.editorial-motion .phrase-part:nth-child(2) { transition-delay: 330ms; }
  html.editorial-motion .phrase-part:nth-child(3) { transition-delay: 690ms; }
  html.editorial-motion .phrase-part:nth-child(4) { transition-delay: 1000ms; }
  html.editorial-motion .phrase-part:nth-child(5) { transition-delay: 1310ms; }
  html.editorial-motion #therapyPathTitle .phrase-part:nth-child(2) { transition-delay: 460ms; }
  html.editorial-motion .therapy-path__intro .phrase-part:nth-child(2) { transition-delay: 350ms; }
  html.editorial-motion .therapy-path__intro .phrase-part:nth-child(3) { transition-delay: 670ms; }
  html.editorial-motion .therapy-path__intro .phrase-part:nth-child(4) { transition-delay: 980ms; }
  html.editorial-motion .therapy-path__intro .phrase-part:nth-child(5) { transition-delay: 1220ms; }
  html.editorial-motion .why__closing .why__action,
  html.editorial-motion .reviews__closing .reviews__button {
    opacity: 0; transform: translate3d(0, 10px, 0); position: relative; overflow: hidden;
    transition: opacity 800ms ease, transform 950ms cubic-bezier(.22,1,.36,1), background-color .25s ease;
  }
  html.editorial-motion .why__closing.is-unfolded .why__action,
  html.editorial-motion .reviews__closing.is-unfolded .reviews__button {
    opacity: 1; transform: none; transition-delay: 1330ms;
  }
  html.editorial-motion .why__action::after,
  html.editorial-motion .reviews__button::after {
    position: absolute; top: -45%; bottom: -45%; left: -70%; width: 40%;
    content: ''; pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.38), transparent);
    transform: translate3d(0,0,0) skewX(-21deg); opacity: 0;
  }
  html.editorial-motion .why__closing.is-unfolded .why__action::after,
  html.editorial-motion .reviews__closing.is-unfolded .reviews__button::after {
    animation: editorial-cta-light 1.1s 2.2s ease-out both;
  }
  @keyframes editorial-cta-light {
    0% { opacity: 0; transform: translate3d(0,0,0) skewX(-21deg); }
    20% { opacity: .65; }
    80% { opacity: .65; }
    100% { opacity: 0; transform: translate3d(520%,0,0) skewX(-21deg); }
  }
}
@media (max-width: 600px) {
  .why__closing-text { font-size: clamp(22px, 6.1vw, 27px); line-height: 1.34; }
  html.editorial-motion .phrase-part--left { transform: translate3d(-15px,3px,0); }
  html.editorial-motion .phrase-part--right { transform: translate3d(15px,3px,0); }
}
@media (prefers-reduced-motion: reduce) {
  .phrase-part, .why__action, .reviews__button { transition: none; animation: none; }
}

/* Gentle motion only for section labels and supporting descriptions. */
@media (prefers-reduced-motion: no-preference) {
  html.editorial-motion [data-soft-reveal] {
    opacity: 0;
    transform: translate3d(0, 12px, 0);
    transition: opacity 970ms cubic-bezier(.22,1,.36,1), transform 1150ms cubic-bezier(.22,1,.36,1);
  }
  html.editorial-motion [data-soft-reveal].soft-reveal--visible {
    opacity: 1;
    transform: none;
  }
}
