/* A focused movement chapter: human photography, a compact activity index, and one editorial session route. */
.workout-section {
  position: relative;
  overflow: clip;
  padding-block: 118px 126px;
  border-block: 1px solid #e4e7f6;
  background:
    radial-gradient(circle at 88% 13%, #dfe4ff 0 9%, transparent 29%),
    radial-gradient(circle at 6% 74%, #eee8ff 0 8%, transparent 25%),
    linear-gradient(180deg, #f5f7ff, #f9f8ff 62%, #f3f5ff);
}
.workout-section::before { content: ""; position: absolute; top: 190px; left: -115px; width: 260px; height: 260px; border: 1px solid #cfd5f0; border-radius: 50%; }
.movement-chapter { position: relative; z-index: 1; }

.movement-opening { display: grid; grid-template-columns: .88fr 1.12fr; gap: 78px; align-items: center; }
.movement-intro { padding-block: 22px; }
.movement-intro h2 { max-width: 570px; font-size: clamp(3.7rem, 5.5vw, 5.6rem); line-height: .95; }
.movement-lede { max-width: 470px; margin-top: 28px; color: var(--muted); font-size: 1.05rem; line-height: 1.72; }
.movement-intro .button { margin-top: 30px; }
.movement-concept-note { margin-top: 15px; color: #747b95; font-size: .82rem; }

.movement-photo-stage { position: relative; min-width: 0; padding: 0 26px 46px 46px; }
.movement-photo-stage::before { content: ""; position: absolute; z-index: -1; inset: 34px 0 12px 82px; border-radius: 270px 270px 38px 38px; background: linear-gradient(150deg, #dfe4ff, #eee9ff); transform: rotate(3deg); }
.movement-photo-stage > img { width: 100%; height: 620px; object-fit: cover; object-position: 50% 38%; border-radius: 270px 270px 38px 38px; box-shadow: 0 30px 70px #4d568721; }
.movement-photo-stage figcaption { position: absolute; left: 0; bottom: 0; width: min(360px, 63%); padding: 23px 25px; border: 1px solid #e3e6f2; border-radius: 25px; background: #fffefaee; box-shadow: 0 20px 52px #3e477d24; backdrop-filter: blur(12px); }
.movement-photo-stage figcaption span, .movement-photo-stage figcaption strong, .movement-photo-stage figcaption small { display: block; }
.movement-photo-stage figcaption span { color: var(--brand); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.movement-photo-stage figcaption strong { margin-top: 7px; font: 700 1.48rem/1.08 var(--font-display); }
.movement-photo-stage figcaption small { margin-top: 8px; color: var(--muted); font-size: .82rem; }
.movement-photo-note { position: absolute; right: -9px; top: 52px; font-size: 1rem; transform: rotate(7deg); }

.movement-families { display: grid; grid-template-columns: .7fr 1.3fr; gap: 58px; align-items: center; margin-top: 66px; padding: 29px 34px; border: 1px solid #dfe3f3; border-radius: 28px; background: #ffffffb8; }
.movement-families header .eyebrow { margin-bottom: 7px; font-size: .75rem; }
.movement-families header h3 { font-size: 1.55rem; line-height: 1.08; }
.movement-families ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; }
.movement-families li { display: grid; grid-template-columns: 38px 1fr; gap: 11px; min-width: 0; padding: 4px 16px; border-left: 1px solid #e1e4f1; }
.movement-family-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 13px; color: var(--brand); background: #edf0ff; }
.movement-family-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.movement-families strong { display: block; font: 700 .86rem/1.25 var(--font-display); }
.movement-families p { margin-top: 4px; color: var(--muted); font-size: .82rem; line-height: 1.4; }

@media (max-width: 1080px) {
  .movement-opening { gap: 43px; }
  .movement-intro h2 { font-size: 4.35rem; }
  .movement-photo-stage { padding-left: 28px; }
  .movement-photo-stage > img { height: 560px; }
  .movement-photo-note { right: -2px; }
  .movement-families { grid-template-columns: .6fr 1.4fr; gap: 30px; padding-inline: 25px; }
  .movement-families li { display: block; padding-inline: 12px; }
  .movement-family-icon { margin-bottom: 10px; }
}

@media (max-width: 880px) {
  .workout-section { padding-block: 98px 106px; }
  .movement-opening { grid-template-columns: 1fr; gap: 43px; }
  .movement-intro { padding: 0; }
  .movement-intro h2 { font-size: 4.2rem; }
  .movement-photo-stage { width: min(630px, 92%); margin-inline: auto; }
  .movement-photo-stage > img { height: 590px; }
  .movement-photo-note { right: -25px; }
  .movement-families { display: block; margin-top: 54px; }
  .movement-families header { display: flex; justify-content: space-between; gap: 25px; align-items: end; margin-bottom: 21px; }
  .movement-families header h3 { max-width: 390px; }
  .movement-families ul { border-top: 1px solid #e1e4f1; padding-top: 20px; }
  .movement-families li { border-left: 0; }
}

@media (max-width: 700px) {
  .workout-section { padding-block: 76px 84px; }
  .movement-opening { gap: 35px; }
  .movement-intro h2 { font-size: clamp(3.2rem, 15vw, 4.05rem); }
  .movement-lede { margin-top: 22px; font-size: .98rem; }
  .movement-intro .button { width: 100%; margin-top: 25px; }
  .movement-concept-note { text-align: center; }
  .movement-photo-stage { width: 100%; padding: 0 0 43px 15px; }
  .movement-photo-stage::before { inset: 29px -25px 10px 48px; }
  .movement-photo-stage > img { height: 480px; border-radius: 190px 190px 29px 29px; }
  .movement-photo-stage figcaption { position: relative; left: auto; bottom: auto; width: calc(100% - 15px); margin: -52px 0 0 -15px; }
  .movement-photo-note { display: none; }
  .movement-families { margin-top: 43px; padding: 24px 20px 20px; }
  .movement-families header { display: block; }
  .movement-families header h3 { font-size: 1.65rem; }
  .movement-families ul { grid-template-columns: 1fr 1fr; gap: 0; padding-top: 12px; }
  .movement-families li { display: grid; grid-template-columns: 36px 1fr; gap: 10px; padding: 14px 8px; border-bottom: 1px solid #e1e4f1; }
  .movement-families li:nth-last-child(-n+2) { border-bottom: 0; }
  .movement-family-icon { width: 36px; height: 36px; margin: 0; }
  .movement-families p { font-size: .82rem; }
}

@media (max-width: 390px) {
  .movement-photo-stage { padding-left: 8px; }
  .movement-photo-stage > img { height: 440px; }
  .movement-photo-stage figcaption { width: calc(100% - 8px); margin-left: -8px; }
  .movement-families { margin-inline: -4px; padding-inline: 16px; }
  .movement-families li { grid-template-columns: 32px 1fr; gap: 7px; padding-inline: 5px; }
  .movement-family-icon { width: 32px; height: 32px; border-radius: 11px; }
  .movement-family-icon svg { width: 18px; height: 18px; }
}

/* Session spread: an editorial route through one illustrative workout. */
.movement-session-stage {
  position: relative;
  margin: 104px 0 0;
  padding: 0;
  border-radius: 0;
  color: var(--ink);
  background: transparent;
  box-shadow: none;
  scroll-margin-top: 34px;
}
.movement-session-stage::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 188px;
  left: -120px;
  width: min(690px, 62vw);
  height: 570px;
  border-radius: 0 280px 280px 0;
  background: linear-gradient(135deg, #e7eaff, #f0ecff 72%, #f8f7ff);
  transform: rotate(-2deg);
}
.movement-session-stage::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 110px;
  right: -170px;
  width: 310px;
  height: 310px;
  border: 1px solid #cfd5f1;
  border-radius: 50%;
}
.movement-session-heading {
  display: grid;
  grid-template-columns: 1.15fr .65fr;
  gap: 72px;
  align-items: end;
  padding: 0;
}
.movement-session-heading .eyebrow { margin-bottom: 14px; color: #5965c9; }
.movement-session-heading h3 {
  max-width: 760px;
  color: var(--ink);
  font-size: clamp(3rem, 4.8vw, 4.85rem);
  line-height: .94;
}
.movement-session-heading h3 span { color: #5862cb; }
.movement-session-intro > p { max-width: 470px; color: var(--muted); font-size: .98rem; line-height: 1.72; }
.movement-session-facts { display: flex; gap: 0; margin: 28px 0 0; }
.movement-session-facts div { min-width: 0; padding: 0 18px; border-left: 1px solid #cfd4e7; }
.movement-session-facts div:first-child { padding-left: 0; border-left: 0; }
.movement-session-facts dt { color: #8a91a7; font-size: .62rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.movement-session-facts dd { margin: 4px 0 0; color: #3b426a; font-size: .78rem; font-weight: 700; white-space: nowrap; }

.movement-session-spread { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(285px, .72fr); gap: 42px; align-items: start; margin-top: 51px; }
.movement-active {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dfe3f2;
  border-radius: 34px;
  background: #fff;
  box-shadow: 0 29px 80px #434c8416;
}
.movement-active-header { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; padding: 32px 35px 26px; }
.movement-active-header small { display: block; color: #5d68cb; font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.movement-active-header h4 { margin-top: 5px; font-size: clamp(1.7rem, 2.5vw, 2.35rem); line-height: 1; }
.movement-active-header p { margin-top: 8px; color: var(--muted); font-size: .76rem; }
.movement-active-header > span { flex: 0 0 auto; color: #4f59bd; font: 700 1.7rem/1 var(--font-display); letter-spacing: -.06em; }
.movement-active-header > span i { color: #a2a8bf; font-size: .85rem; font-style: normal; letter-spacing: -.02em; }

.movement-motion-study { margin-inline: 20px; padding: 17px 22px 13px; border-radius: 27px; background: linear-gradient(145deg, #edf0ff, #f8f6ff 62%, #f5f7ff); }
.movement-motion-study svg { display: block; width: 100%; height: auto; overflow: visible; }
.movement-motion-path { fill: none; stroke: #aeb6df; stroke-width: 2; stroke-dasharray: 4 8; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.movement-motion-pulse { fill: #ffffff5e; stroke: #c9cef0; stroke-width: 1.5; stroke-dasharray: 2 7; vector-effect: non-scaling-stroke; }
.movement-figure-shadow { fill: #343b8018; }
.movement-skin { fill: #dba381; stroke: #b97865; stroke-width: 1.35; }
.movement-hair { fill: #252958; }
.movement-top { fill: url(#movement-top-fill); stroke: #40499f; stroke-width: 1.8; stroke-linejoin: round; }
.movement-top-highlight { fill: #ffffff28; }
.movement-leg { fill: none; stroke: url(#movement-leg-fill); stroke-width: 18; stroke-linecap: round; stroke-linejoin: round; }
.movement-shoe { fill: #fff; stroke: #41498f; stroke-width: 1.8; stroke-linejoin: round; }
.movement-arm { fill: none; stroke: #dba381; stroke-width: 11; stroke-linecap: round; stroke-linejoin: round; }
.movement-hand { fill: #e8b493; stroke: #b97865; stroke-width: 1.2; }
.movement-dumbbell-handle { fill: #4b4278; }
.movement-dumbbell-plate { fill: url(#movement-weight-fill); stroke: #b85c68; stroke-width: 1.5; stroke-linejoin: round; }
.movement-dumbbell-plate--small { opacity: .88; }
.movement-athlete--active .movement-top { stroke-width: 2.3; }
.movement-athlete--active .movement-figure-shadow { fill: #343b8024; }
.movement-motion-arrow { fill: none; stroke: #8e98c9; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.movement-motion-labels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 0; padding: 0; list-style: none; color: #656d8c; font-size: .68rem; font-weight: 700; text-align: center; }

.movement-guide-note { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; margin: 22px 34px 0; padding-bottom: 24px; border-bottom: 1px solid #e4e7f0; color: #646c87; font-size: .77rem; line-height: 1.5; }
.movement-guide-note > span:first-child { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 15px; color: #5661c8; background: #eff1ff; }
.movement-guide-note svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.movement-guide-note strong { display: block; color: #3d456d; font-size: .76rem; }

.movement-set-story { padding: 23px 34px 30px; }
.movement-set-story > header { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.movement-set-story > header span { color: #50587b; font-size: .75rem; font-weight: 700; }
.movement-set-story > header small { color: #8a91a6; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.movement-set-story ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 14px 0 0; padding: 0; list-style: none; }
.movement-set-story li { position: relative; min-width: 0; padding: 15px 14px 14px; border: 1px solid #e3e6f1; border-radius: 17px; background: #fafbff; }
.movement-set-story li.is-next { border-color: #c9cef2; background: #f0f2ff; }
.movement-set-story li > span,
.movement-set-story li strong,
.movement-set-story li small { display: block; }
.movement-set-story li > span { color: #878ea8; font-size: .58rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.movement-set-story li strong { margin-top: 7px; font: 700 1rem/1 var(--font-display); }
.movement-set-story li small { margin-top: 5px; color: #777f99; font-size: .65rem; }
.movement-set-story li em { position: absolute; top: 13px; right: 11px; color: #6972ca; font-size: .62rem; font-style: normal; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

.movement-session-rail { min-width: 0; padding: 10px 7px 0; }
.movement-session-rail > header { padding: 0 0 24px 27px; border-left: 2px solid #adb5ed; }
.movement-session-rail > header small { color: #636ecf; font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.movement-session-rail > header h4 { margin-top: 7px; font-size: clamp(1.8rem, 2.6vw, 2.45rem); line-height: 1.02; }
.movement-session-rail > header p { max-width: 310px; margin-top: 12px; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.movement-route { position: relative; margin: 7px 0 0; padding: 0; list-style: none; }
.movement-route::before { content: ""; position: absolute; top: 24px; bottom: 24px; left: 23px; width: 1px; background: #cfd4e7; }
.movement-route li { position: relative; z-index: 1; display: grid; grid-template-columns: 47px 1fr; gap: 15px; align-items: start; min-height: 86px; padding: 10px 0; }
.movement-route li > span { display: grid; place-items: center; width: 47px; height: 47px; border: 1px solid #d8dced; border-radius: 50%; color: #858da8; background: #f6f7ff; font: 700 .68rem/1 var(--font-display); }
.movement-route li.is-current > span { border-color: #505de2; color: #fff; background: #505de2; box-shadow: 0 8px 24px #505de22c; }
.movement-route li small { display: block; color: #79819b; font-size: .6rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.movement-route li.is-current small { color: #5661c7; }
.movement-route li strong { display: block; margin-top: 2px; font: 700 1.03rem/1.2 var(--font-display); }
.movement-route li p { margin-top: 5px; color: var(--muted); font-size: .74rem; }

.movement-rest-window { display: grid; grid-template-columns: 94px 1fr; gap: 20px; align-items: center; margin-top: 11px; padding: 23px 20px; border: 1px solid #d7dcf1; border-radius: 26px; background: linear-gradient(145deg, #edf0ff, #f7f6ff); }
.movement-rest-clock { position: relative; display: grid; place-items: center; width: 94px; height: 94px; color: #4e59bf; }
.movement-rest-clock svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.movement-rest-clock circle { fill: #fff; stroke: #d4d9f2; stroke-width: 5; }
.movement-rest-clock path { fill: none; stroke: #5d68d0; stroke-width: 5; stroke-linecap: round; }
.movement-rest-clock > span { position: relative; z-index: 1; font: 700 1.55rem/1 var(--font-display); letter-spacing: -.04em; }
.movement-rest-clock small { display: block; margin-top: 3px; color: #7e86a1; font: 700 .55rem/1 var(--font-body); letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.movement-rest-window > div:last-child > small { color: #6973ca; font-size: .58rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.movement-rest-window h5 { margin: 4px 0 0; color: #353d68; font: 700 1.08rem/1.1 var(--font-display); letter-spacing: -.03em; }
.movement-rest-window p { margin-top: 7px; color: #6c748e; font-size: .71rem; line-height: 1.45; }

.movement-session-memory { display: grid; grid-template-columns: .7fr 1.3fr; gap: 56px; align-items: center; margin-top: 34px; padding: 37px 40px; border-radius: 30px; color: #fff; background: linear-gradient(120deg, #171c4c, #252d66 62%, #394694); box-shadow: 0 25px 65px #262d641d; }
.movement-session-memory .eyebrow { margin-bottom: 9px; color: #bfc6ff; }
.movement-session-memory h4 { color: #fff; font-size: clamp(1.8rem, 2.6vw, 2.55rem); line-height: 1; }
.movement-session-memory header > p:last-child { max-width: 300px; margin-top: 11px; color: #d2d7f1; font-size: .76rem; line-height: 1.55; }
.movement-session-memory ol { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; }
.movement-session-memory li { display: grid; grid-template-columns: 28px 1fr; gap: 10px; min-width: 0; padding: 4px 20px; border-left: 1px solid #ffffff24; }
.movement-session-memory li:first-child { border-left: 0; }
.movement-session-memory li > span { color: #9da7ef; font: 700 .62rem/1.4 var(--font-display); }
.movement-session-memory li small { display: block; color: #aeb7f2; font-size: .59rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.movement-session-memory li strong { display: block; margin-top: 5px; color: #fff; font: 700 .92rem/1.25 var(--font-display); }
.movement-session-memory li p { margin-top: 6px; color: #d0d5ee; font-size: .68rem; line-height: 1.45; }

.movement-companion { display: grid; grid-template-columns: 86px 1fr auto; gap: 23px; align-items: center; margin-top: 28px; padding: 24px 3px 4px; border: 0; border-top: 1px solid #d9ddec; border-radius: 0; color: var(--ink); background: transparent; }
.movement-companion > img { width: 86px; height: 63px; object-fit: contain; filter: drop-shadow(0 12px 16px #666fbd16); }
.movement-companion small { display: block; color: #6570cc; font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.movement-companion h4 { margin-top: 3px; color: var(--ink); font-size: 1.15rem; }
.movement-companion p { max-width: 600px; margin-top: 5px; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.movement-companion .text-link { flex-shrink: 0; color: #4f59bd; font-size: .8rem; }
.movement-credit { max-width: none; margin: 30px auto 0; text-align: center; font-size: .72rem; }

@media (max-width: 1080px) {
  .movement-session-heading { grid-template-columns: 1fr .78fr; gap: 48px; }
  .movement-session-heading h3 { font-size: 4rem; }
  .movement-session-spread { grid-template-columns: minmax(0, 1.18fr) minmax(270px, .82fr); gap: 28px; }
  .movement-active-header { padding-inline: 28px; }
  .movement-guide-note { margin-inline: 28px; }
  .movement-set-story { padding-inline: 28px; }
  .movement-motion-study { padding-inline: 12px; }
  .movement-motion-labels { gap: 5px; }
  .movement-session-memory { grid-template-columns: .62fr 1.38fr; gap: 28px; padding-inline: 30px; }
  .movement-session-memory li { grid-template-columns: 1fr; gap: 5px; padding-inline: 15px; }
  .movement-companion { grid-template-columns: 74px 1fr; }
  .movement-companion > img { width: 74px; }
  .movement-companion .text-link { grid-column: 2; justify-self: start; }
}

@media (max-width: 880px) {
  .movement-session-stage { margin-top: 82px; }
  .movement-session-stage::before { top: 250px; left: -80px; width: 74vw; height: 520px; }
  .movement-session-heading { grid-template-columns: 1fr; gap: 24px; }
  .movement-session-heading h3 { font-size: 3.8rem; }
  .movement-session-intro { display: grid; grid-template-columns: 1fr auto; gap: 26px; align-items: end; }
  .movement-session-facts { margin-top: 0; }
  .movement-session-spread { grid-template-columns: 1fr; gap: 41px; }
  .movement-session-rail { display: grid; grid-template-columns: .78fr 1.22fr; gap: 31px; padding: 2px 4px 0; }
  .movement-session-rail > header { grid-column: 1; }
  .movement-route { grid-column: 2; grid-row: 1 / 3; margin-top: 0; }
  .movement-rest-window { grid-column: 1; grid-template-columns: 75px 1fr; margin-top: 0; }
  .movement-rest-clock { width: 75px; height: 75px; }
  .movement-session-memory { grid-template-columns: 1fr; gap: 27px; }
  .movement-session-memory header { display: grid; grid-template-columns: 1fr 1fr; column-gap: 25px; align-items: end; }
  .movement-session-memory header .eyebrow { grid-column: 1 / -1; }
  .movement-session-memory header > p:last-child { margin-top: 0; }
}

@media (max-width: 700px) {
  .movement-session-stage { margin: 66px 0 0; }
  .movement-session-stage::before { top: 330px; left: -60px; width: 108vw; height: 440px; }
  .movement-session-stage::after { top: 170px; right: -190px; }
  .movement-session-heading h3 { font-size: clamp(2.85rem, 13.5vw, 3.7rem); }
  .movement-session-intro { display: block; }
  .movement-session-intro > p { font-size: .9rem; }
  .movement-session-facts { margin-top: 24px; }
  .movement-session-facts div { padding-inline: 11px; }
  .movement-session-facts dd { font-size: .68rem; }
  .movement-session-spread { margin-top: 35px; }
  .movement-active { border-radius: 27px; }
  .movement-active-header { padding: 25px 21px 21px; }
  .movement-active-header h4 { max-width: 220px; font-size: 1.65rem; }
  .movement-active-header > span { font-size: 1.35rem; }
  .movement-motion-study { margin-inline: 10px; padding: 8px 7px 10px; border-radius: 21px; }
  .movement-motion-study svg { min-height: 170px; }
  .movement-motion-labels { gap: 2px; font-size: .65rem; line-height: 1.25; }
  .movement-guide-note { grid-template-columns: 39px 1fr; gap: 12px; margin: 18px 20px 0; padding-bottom: 20px; font-size: .7rem; }
  .movement-guide-note > span:first-child { width: 39px; height: 39px; }
  .movement-set-story { padding: 20px 20px 24px; }
  .movement-set-story > header { align-items: flex-end; }
  .movement-set-story > header span { max-width: 150px; line-height: 1.25; }
  .movement-set-story ol { grid-template-columns: 1fr; }
  .movement-set-story li { display: grid; grid-template-columns: .6fr .75fr 1fr; align-items: end; padding: 14px 13px; }
  .movement-set-story li > span { grid-column: 1; }
  .movement-set-story li strong { grid-column: 2; grid-row: 1 / 3; margin: 0; }
  .movement-set-story li small { grid-column: 3; grid-row: 1 / 3; margin: 0; text-align: right; }
  .movement-set-story li em { position: static; grid-column: 1; margin-top: 4px; }
  .movement-session-rail { display: block; padding-inline: 1px; }
  .movement-session-rail > header { padding-left: 20px; }
  .movement-route { margin-top: 8px; }
  .movement-rest-window { grid-template-columns: 84px 1fr; margin-top: 13px; padding: 21px 18px; }
  .movement-rest-clock { width: 84px; height: 84px; }
  .movement-session-memory { margin-inline: -18px; padding: 31px 24px 29px; border-radius: 0; }
  .movement-session-memory header { display: block; }
  .movement-session-memory header > p:last-child { margin-top: 11px; }
  .movement-session-memory ol { grid-template-columns: 1fr; margin-top: 1px; }
  .movement-session-memory li { grid-template-columns: 28px 1fr; gap: 10px; padding: 16px 0; border-left: 0; border-top: 1px solid #ffffff24; }
  .movement-session-memory li:first-child { border-top: 0; }
  .movement-companion { grid-template-columns: 65px 1fr; gap: 14px; margin-top: 23px; padding-top: 21px; }
  .movement-companion > img { width: 65px; height: 52px; }
  .movement-companion h4 { font-size: 1rem; }
  .movement-companion p { font-size: .72rem; }
  .movement-companion .text-link { grid-column: 1 / -1; margin-top: 5px; }
}

@media (max-width: 390px) {
  .movement-session-facts { flex-wrap: wrap; row-gap: 14px; }
  .movement-session-facts div { flex: 1 1 30%; }
  .movement-motion-study svg { min-height: 155px; }
  .movement-motion-labels { font-size: .65rem; }
  .movement-rest-window { grid-template-columns: 72px 1fr; gap: 14px; padding-inline: 15px; }
  .movement-rest-clock { width: 72px; height: 72px; }
}
