<?xml version="1.0" encoding="UTF-8"?>
<workout_file>
  <author>Kris Stallenberg</author>
  <name>75-min Z4 (Threshold) Pushing #02</name>
  <description>Challenge your lactate processing capabilities with threshold over-unders. By alternating between just below and just above your FTP, you'll train your body to clear lactate more efficiently while under stress. This workout is excellent for developing the punchy, sustainable power needed for rolling terrain or aggressive group rides.</description>
  <sportType>bike</sportType>
  <tags>
    <tag name="THRESHOLD" />
  </tags>
  <workout>
    <Warmup Duration="720" PowerLow="0.5" PowerHigh="0.75">
      <textevent timeoffset="30" message="Let's get started. Easy spinning to begin." />
      <textevent timeoffset="600" message="Breathing should be deepening. Prepare for the main set." />
    </Warmup>
    <IntervalsT Repeat="2" OnDuration="30" OffDuration="30" OnPower="1.1" OffPower="0.6">
      <textevent timeoffset="0" message="Final prep with two sharp spin-ups!" />
    </IntervalsT>
    <SteadyState Duration="120" Power="0.75" />
    <IntervalsT Repeat="4" OnDuration="60" OffDuration="120" OnPower="1.05" OffPower="0.95">
      <textevent timeoffset="0" message="First block of over-unders. Focus on smooth transitions." />
      <textevent timeoffset="360" message="Halfway point. The 'overs' should feel sharp, the 'unders' like steady-state." />
    </IntervalsT>
    <SteadyState Duration="300" Power="0.55">
      <textevent timeoffset="15" message="One down, two to go. Use this recovery." />
    </SteadyState>
    <IntervalsT Repeat="4" OnDuration="60" OffDuration="120" OnPower="1.05" OffPower="0.95">
      <textevent timeoffset="0" message="Block two. Stay on top of the effort." />
      <textevent timeoffset="360" message="Keep your form solid. Don't let your upper body tense up." />
    </IntervalsT>
    <SteadyState Duration="300" Power="0.55">
      <textevent timeoffset="15" message="Great focus. One final block ahead." />
    </SteadyState>
    <IntervalsT Repeat="4" OnDuration="60" OffDuration="120" OnPower="1.05" OffPower="0.95">
      <textevent timeoffset="0" message="Last block! Make it your best one." />
      <textevent timeoffset="360" message="Final push through these last few changes." />
    </IntervalsT>
    <SteadyState Duration="300" Power="0.55">
      <textevent timeoffset="20" message="Reset posture: tall chest and quiet upper body." />
    </SteadyState>
    <Cooldown Duration="480" PowerLow="0.55" PowerHigh="0.35">
      <textevent timeoffset="30" message="That's a tough session in the books. Great work." />
    </Cooldown>
  </workout>
</workout_file>